JSON简述
JSON是什么?
JSON:JavaScript Object Notation(JavaScript表示法),轻量级文本数据交换格式。
JSON是储存和交换文本信息的语法。类似XML,但是比XML更小、更快,更易解析。
JSON独立于语言,JSON使用JavaScript语法来描述数据对象,但是仍然独立于平台和语言。JSON解析器和JSON库支持许多不同的编程语言。目前非常多的动态编程语言(PHP、JSP、.NET)都支持JSON。
JSON语法
JSON语法是JavaScript语法的子集。
- 1、语法规则
*数据在名称、值对中
*数据由逗号隔开
*大括号保存对象
*中括号保存数组
- 2、JSON名称/值对
名称/值对包括字段名称(在双引号中),后面一个冒号,然后是值:“name”: “JSON简述”
这很容易理解,相当于JS: name = “JSON简述”
- 3、JSON值
JSON值可以是:
*数字(整数或浮点数)
*字符串(在双引号中)
*逻辑值(true或false)
*数组 [在中括号中]
*对象(在大括号中)
*null
JSON对象
JSON对象在大括号({})中书写:
对象可以包括多个名称/值对:
{"name":"JSON简述","date":"2019-01-14"}
这一点也很容易理解,与这条JS语句等价:
Name = "JSON简述"
Date = "2019-01-14"
JSON数组
- 1、JSON数组在中括号[]中书写:
数组可以包含多个对象:
{
“sites”:[{
“name”:”百度”,
“url”:”www.baidu.com”
},
{
“name”:”google”,
“url”:”www.googlecom”
},
{
“name”:”微博”,
“url”:”www.weibo.com”
}
]
}
在上面的例子中,对象”sites”是包含3个对象的数组,每一个对象代表一条关于某个网站的记录。
-2、JSON使用JavaScript语法
Sites[0].name == “百度” (true)
JSON.prase()
Json通常用于与服务器进行数据交换。
在接受服务器数据时一般是字符串。
我们可以用JSON.parse()方法将数据转换成JavaScript对象。
语法:
JSON.parse(text[,reviver])
参数说明:
text:必需,一个有效的JSON字符串。
reviver: 可选,一个转换结果的函数,将为对象的每个成员调用此函数。
JSON.stringify()
我们可以使用JSON.stringify()方法将JavaScript对象转化为字符串。
语法:
JSON.stringify(value[,replacer[,space]])
参数说明:
value:必需,要转换的JavaScript值(通常为对象或数组)。
replacer:可选。用于转换结果的函数或者数组。
If(replacer为函数){
则JSON.stringify将调用该函数,并传入每个成员的键和值。使用返回值而不是原始值。
如果此函数返回undefined,则排除成员。根对象的键是一个空字符串:“”。
}
If(replacer为数组){
则仅转换该数组中具有键值的成员。成员的转换顺序与键在数组中的顺序一样。当value参数也为数组时,
将忽略replacer数组。
}
space:可选,文本添加缩进、空格和换行符,如果space是一个数字,则返回值文本在每个级别缩进指定数目
的空格,如果space大于10,则文本缩进10个空格。Space也可以使用非数字,如: \t。