本文实例讲述了JSON基本语法及与JavaScript的异同。分享给大家供大家参考,具体如下:JSON的
本文实例讲述了JSON基本语法及与JavaScript的异同。分享给大家供大家参考,具体如下:
JSON 的语法可以表达三种类型的值。
- 简单值:与 JavaScript 语法相同,可以表示字符串、数值、布尔值以及 null,但不支持 JavaScript 的 undefined。
- 对象(复杂数据类型):是一组有序的键值对,每个键值对中的键可以是简单值,也可以是复杂数据类型的值。
- 数组(复杂数据类型):是一组有序的值的列表,可以使用数值索引来访问其中的值,这个值可以是任意类型(简单值、对象或数组)。
JSON 只是一种表示结构化数据的格式,虽然与 JavaScript 中表示的数据在某些语法上相同,但它不只是应用于 JavaScript 中。
1 简单值
JSON 字符串与 JavaScript 字符串的区别是:JSON 字符串只能使用双引号!而 JavaScript 中字符串还可以使用单引号。
布尔值和 null 也是有效的 JSON 字符串。在实践中,JSON 更多是用来表达更复杂的数据结构的。
2 对象
JSON 对象与 JavaScript 对象有一些不同。在 JavaScript 中的对象字面量是这样的:
var person = {
name : "deniro",
age :15
}
而在 JSON 中的对象必须给属性加上引号,而在 JavaScript 中倒是可加可不加:
var person = {
"name" : "deniro",
"age" :15
}
JSON 中的对象还有两点不同:
①. 不需要声明变量。 ②. 末尾不需要加分号。
在 JSON 中的对象的属性的值,可以是简单值,也可以是复杂类型的值:
var person = {
"name" : "deniro",
"age" : 15,
"school" : {
"name" : "MIT",
"location":"American"
}
}
注意,同一个对象中不能出席两个同名的属性!再重复一次,JSON 对象中的所有属性名都必须加上双引号!!!
3 数组
JSON 数组采用的就是 JavaScript 中的数组字面量形式:
[15,"Hi",true]
数组与对象结合,可以构建出更复杂的数据集合:
[
{
"title" :"万物简史",
"authors":[
"比尔·布莱森"
],
year:2005
},
{
"title" :"父与子全集",
"authors":[
"埃·奥·卜劳恩"
],
year:2003
}
]
这个数组包含了表示图书的对象,每个图书对象有一个 authors 属性,它的值也是一个数组。对象和数组一般是 JSON 数据结构的最外层形式。
PS:这里再为大家推荐几款相关的json在线工具供大家参考:
在线JSON代码检验、检验、美化、格式化工具: http://tools.jb51.net/code/json
JSON在线格式化工具: http://tools.jb51.net/code/jsonformat
在线XML/JSON互相转换工具: http://tools.jb51.net/code/xmljson
json代码在线格式化/美化/压缩/编辑/转换工具: http://tools.jb51.net/code/jsoncodeformat
在线json压缩/转义工具: http://tools.jb51.net/code/json_yasuo_trans
JSON 语法 JavaScript 异同