JSON syntax
Dit is een voorbeeld van JSON syntax:
Code (http://api.openweathermap.org/data/2.5/weather?q=Amsterdam,NL&units=metric) (js)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
{
"coord":{
"lon":4.88969,
"lat":52.374031
},
"sys":{
"country":"NL",
"sunrise":1377924671,
"sunset":1377973794
},
"weather":[
{
"id":300,
"main":"Drizzle",
"description":"light intensity drizzle",
"icon":"09d"
}
],
"base":"gdps stations",
"main":{
"temp":17.9,
"humidity":82,
"pressure":1026,
"temp_min":17.78,
"temp_max":18
},
"wind":{
"speed":6.17,
"deg":330
},
"rain":{
"3h":0
},
"clouds":{
"all":24
},
"dt":1377937322,
"id":2759794,
"name":"Amsterdam",
"cod":200
}
"coord":{
"lon":4.88969,
"lat":52.374031
},
"sys":{
"country":"NL",
"sunrise":1377924671,
"sunset":1377973794
},
"weather":[
{
"id":300,
"main":"Drizzle",
"description":"light intensity drizzle",
"icon":"09d"
}
],
"base":"gdps stations",
"main":{
"temp":17.9,
"humidity":82,
"pressure":1026,
"temp_min":17.78,
"temp_max":18
},
"wind":{
"speed":6.17,
"deg":330
},
"rain":{
"3h":0
},
"clouds":{
"all":24
},
"dt":1377937322,
"id":2759794,
"name":"Amsterdam",
"cod":200
}
JSON staat voor JavaScript Object Notation, wat al aangeeft dat de syntax van JSON erg op die van JavaScript lijkt. Het is in principe precies hetzelfde als JavaScript behalve dat dubbele quotes verplicht zijn om keys in JSON. Ik zal even alle elementen uitleggen:
value
Alles in JSON is een value:
Dit betekent dat je naast strings, integers, floats, objects en arrays, je ook true, false en null in een value kunt zetten. De meest complexe values zijn deze:
{ ... } (object)
De accolades geven een JSON object aan. In een object kunnen properties zitten. In het voorbeeld hierboven zitten 12 properties van het object. Je kan zien dat sommige van deze properties ook zelf weer objects zijn.
[ ... ] (array)
Deze blokhaken geven een array aan, deze staan in het voorbeeld hierboven bij weather. In dit geval heeft deze heeft één value, namelijk een object. Als er nog een value in zat, zou het er zo uitzien (ik heb wat weggelaten):
Code (http://api.openweathermap.org/data/2.5/forecast?q=Amsterdam,NL&units=metric) (js)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
{
"weather":[
{
"id":500,
"main":"Rain",
"description":"light rain",
"icon":"10d"
},
{
"id":506,
"main":"Sun",
"description":"sunny",
"icon":"12d"
}
]
}
"weather":[
{
"id":500,
"main":"Rain",
"description":"light rain",
"icon":"10d"
},
{
"id":506,
"main":"Sun",
"description":"sunny",
"icon":"12d"
}
]
}
In een array kunnen als children ook andere values zitten, en wel op deze manier:
Comments zijn niet mogelijk in JSON. Dit heeft een duidelijke reden: JSON is een datastructureringstaal, en deze zou zichzelf moeten beschrijven.