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在线工具供大家参考:
更多关于JavaScript相关内容可查看本站专题:《JavaScript中json操作技巧总结》、《JavaScript查找算法技巧总结》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》及《JavaScript数学运算用法总结》