JSON 语法
JSON 语法是 JavaScript 语法的子集。
JSON 语法规则
JSON 语法是 JavaScript 对象表示法语法的子集。
数据在名称/值对中
数据由逗号分隔
花括号保存对象
方括号保存数组
JSON 名称/值对
JSON 数据的书写格式是:名称/值对。
名称/值对包括字段名称(在双引号中),后面写一个冒号,然后是值:
"firstName" : "John"
这很容易理解,等价于这条 JavaScript 语句:
firstName = "John"
JSON 值
JSON 值可以是:
数字(整数或浮点数)
字符串(在双引号中)
逻辑值(true 或 false)
数组(在方括号中)
对象(在花括号中)
null
JSON 对象
JSON 对象在花括号中书写:
对象可以包含多个名称/值对:
{ "firstName":"John" , "lastName":"Doe" }
这一点也容易理解,与这条 JavaScript 语句等价:
firstName = "John"
lastName = "Doe"
JSON 数组
JSON 数组在方括号中书写:
数组可包含多个对象:
{
"employees": [
{ "firstName":"John" , "lastName":"Doe" },
{ "firstName":"Anna" , "lastName":"Smith" },
{ "firstName":"Peter" , "lastName":"Jones" }
]
}
在上面的例子中,对象 "employees" 是包含三个对象的数组。每个对象代表一条关于某人(有姓和名)的记录。
上面的摘自w3c。
言归正题:
以下是某网站的一条天气的json数据
{
"desc": "OK",
"status": 1000,
"data": {
"wendu": "3",
"ganmao": "昼夜温差很大,易发生感冒,请注意适当增减衣服,加强自我防护避免感冒。",
"forecast": [
{
"fengxiang": "东北风",
"fengli": "微风级",
"high": "高温 4℃",
"type": "雨夹雪",
"low": "低温 2℃",
"date": "21日星期四"
},
{
"fengxiang": "东北风",
"fengli": "3-4级",
"high": "高温 4℃",
"type": "小雨",
"low": "低温 0℃",
"date": "22日星期五"
},
{
"fengxiang": "西北风",
"fengli": "4-5级",
"high": "高温 0℃",
"type": "多云",
"low": "低温 -6℃",
"date": "23日星期六"
},
{
"fengxiang": "西北风",
"fengli": "4-5级",
"high": "高温 -3℃",
"type": "晴",
"low": "低温 -6℃",
"date": "24日星期天"
},
{
"fengxiang": "西北风",
"fengli": "微风级",
"high": "高温 1℃",
"type": "晴",
"low": "低温 -4℃",
"date": "25日星期一"
}
],
"yesterday": {
"fl": "微风",
"fx": "东北风",
"high": "高温 5℃",
"type": "阴",
"low": "低温 1℃",
"date": "20日星期三"
},
"aqi": "24",
"city": "上海"
}
}
该怎么解析呢????