JSON Cheat Sheet

This is a quick reference cheat sheet for understanding and writing JSON format configuration files.

Also see

Access JSON in JavaScript

Access Array

let myArray = [ "Jason", "Doe", 39, "M", 70000, true ]; 

myArray[1] "Doe"
myArray[5] true
myArray[6] undefined

Access Array of Objects

let myArray = [ { "name": "Jason", "last": "Doe", "age": 39, "gender": "M", "salary": 70000, "married": true }, { "name": "Tom", "last": "Smith", "age": 42, "gender": "F", "salary": 80000, "married": true }, { "name": "Amy", "last": "Burnquist", "age": 29, "gender": "F", "salary": 60000, "married": false } ]; 

myArray[0] {"name": "Jason", …}
myArray[1].name "Tom"
myArray[1][2] 42
myArray[3] undefined
myArray[3].gender TypeError: Cannot read…

Access Nested

let myObject = { "ref": { "name": 0, "last": 1, "age": 2, "gender": 3, "salary": 4, "married": 5 }, "jdoe": [ "Jason", "Doe", 39, "M", 70000, true ], "jsmith": [ "Tom", "Smith", 42, "F", 80000, true ] }; 

myObject.ref.age 2
myObject["ref"]["age"] 2
myObject.jdoe ["Jason", "Doe", 39 …]
myObject.jsmith[3] "F"
myObject[1] undefined

Access Object

let myObject = { "name": "Jason", "last": "Doe", "age": 39, "gender": "M", "salary": 70000, "married": true }; 

myObject.name "Jason"
myObject["name"] "Jason"
myObject.age 39
myObject.other undefined
myObject[0] undefined

Getting Started

Nested

{ "Jack": { "id": 1, "name": "Franc", "salary": 25000, "hobby": ["a", "b"], "location": { "country": "A", "city": "A-A" } } } 

Object of objects

{ "Mark McGwire": { "hr": 65, "avg": 0.278 }, "Sammy Sosa": { "hr": 63, "avg": 0.288 } } 

2D Array

{ "my\_sequences": [ [1, 2, 3], [4, 5, 6], [7, 8, 9, 0], [10, 11] ] } 

Object of arrays

{ "attributes": ["a1", "a2"], "methods": ["getter", "setter"], "empty\_array": [] } 

Array of objects

{ "children": [ {"name": "Jimmy Smith", "age": 15}, {"name": "Sammy Sosa", "age": 12} ] } 

Arrays

[1, 2, 3, 4, 5] 

Begins with [ and ends with ]

Objects

{ "color": "Purple", "id": "210", "composition": { "R": 70, "G": 39, "B": 89 }, "empty\_object": {} } 

Multiple key/value pairs separated by a comma

Number

Type Description
Integer Digits 1-9, 0 and positive or negative
Fraction Fractions like 0.3, 3.9
Exponent Exponent like e, e+, e-, E, E+, E

#Examples

{ "positive" : 12, "negative" : -1, "fraction" : 10.25, "exponent" : 1.0E+2, "zero" : 0 } 

#Invalid Number

{ "foo": 0xFF } 

In JSON you can use only Decimal Literals

String

\" Double quote
\\ Backslash
\/ Forward slash
\b Backspace
\f Form feed
\n Newline
\r Carriage return
\t Tab
\u Trailed by four hex digits

#Examples

{ "url": "https://quickref.me", "msg" : "Hi,\n\"QuickRef.ME\"", "intro": "Share quick reference and cheat sheet for developers." } 

#Invalid String

{ "foo": 'bar' } 

Have to be delimited by double quotes

Types

Type Description
Number Double precision floating-point
String Series of characters
Boolean true or false
Array Ordered sequence of values
Value String, Number, Boolean, null etc
Object Unordered collection of key/value pairs
null Null or Empty

Examples

{ "name": "Jason", "age": 39, "height": 1.92, "gender": "M", "salary": 70000, "married": true, "children": [ {"name": "Tom", "age": 9, "gender":"M"}, {"name": "Ava", "age": 7, "gender":"F"} ] } 

Introduction

JSON is a lightweight text-based open standard designed for human-readable data interchange.

  • JSON stands for JavaScript Object Notation
  • JSON is easy to read and write.
  • JSON is language agnostic data-interchange format
  • JSON filename extension is .json
  • JSON Internet Media type is application/json