title
JSON
date
2021-09-14 11:26:55 -0700
background
bg-[#646464]
tags
categories
intro
This is a quick reference cheat sheet for understanding and writing JSON format configuration files.
plugins
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
{.marker-round}
{
"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" }
]
}
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
\"
Double quote
\\
Backslash
\/
Forward slash
\b
Backspace
\f
Form feed
\n
Newline
\r
Carriage return
\t
Tab
\u
Trailed by four hex digits
{
"url" : " https://cheatsheets.zip" ,
"msg" : " Hi,\n\" CheatSheets.zip\" " ,
"intro" : " Share quick reference and cheat sheet for developers."
}
Have to be delimited by double quotes
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
{
"positive" : 12 ,
"negative" : -1 ,
"fraction" : 10.25 ,
"exponent" : 1.0e2 ,
"zero" : 0
}
In JSON you can use only Decimal Literals
{
"color" : " Purple" ,
"id" : " 210" ,
"composition" : {
"R" : 70 ,
"G" : 39 ,
"B" : 89
},
"empty_object" : {}
}
Multiple key/value pairs separated by a comma
Begins with [ and ends with ]
{
"children" : [
{ "name" : " Jimmy Smith" , "age" : 15 },
{ "name" : " Sammy Sosa" , "age" : 12 }
]
}
{
"attributes" : [" a1" , " a2" ],
"methods" : [" getter" , " setter" ],
"empty_array" : []
}
{
"my_sequences" : [
[1 , 2 , 3 ],
[4 , 5 , 6 ],
[7 , 8 , 9 , 0 ],
[10 , 11 ]
]
}
{
"Mark McGwire" : {
"hr" : 65 ,
"avg" : 0.278
},
"Sammy Sosa" : {
"hr" : 63 ,
"avg" : 0.288
}
}
{
"Jack" : {
"id" : 1 ,
"name" : " Franc" ,
"salary" : 25000 ,
"hobby" : [" a" , " b" ],
"location" : {
"country" : " A" ,
"city" : " A-A"
}
}
}
Access JSON in JavaScript
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
Access Nested {.row-span-2}
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 Array of Objects {.row-span-2}
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...
let myArray = [ 'Jason' , 'Doe' , 39 , 'M' , 70000 , true ] ;
myArray[1]
"Doe"
myArray[5]
true
myArray[6]
undefined