JSON基本语法及与JavaScript的异同实例分析
本文实例讲述了JSON基本语法及与JavaScript的异同。分享给大家供大家参考,具体如下:
JSON的语法可以表达三种类型的值。
- 简单值:与JavaScript语法相同,可以表示字符串、数值、布尔值以及null,但不支持JavaScript的undefined。
- 对象(复杂数据类型):是一组有序的键值对,每个键值对中的键可以是简单值,也可以是复杂数据类型的值。
- 数组(复杂数据类型):是一组有序的值的列表,可以使用数值索引来访问其中的值,这个值可以是任意类型(简单值、对象或数组)。
JSON只是一种表示结构化数据的格式,虽然与JavaScript中表示的数据在某些语法上相同,但它不只是应用于JavaScript中。
1简单值
JSON字符串与JavaScript字符串的区别是:JSON字符串只能使用双引号!而JavaScript中字符串还可以使用单引号。
布尔值和null也是有效的JSON字符串。在实践中,JSON更多是用来表达更复杂的数据结构的。
2对象
JSON对象与JavaScript对象有一些不同。在JavaScript中的对象字面量是这样的:
varperson={ name:"deniro", age:15 }
而在JSON中的对象必须给属性加上引号,而在JavaScript中倒是可加可不加:
varperson={ "name":"deniro", "age":15 }
JSON中的对象还有两点不同:
①.不需要声明变量。
②.末尾不需要加分号。
在JSON中的对象的属性的值,可以是简单值,也可以是复杂类型的值:
varperson={ "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/jsonformat
在线XML/