前端开发 \ JavaScript \ 说说 JSON 的基本语法以及与 JavaScript 的异同

说说 JSON 的基本语法以及与 JavaScript 的异同

总点击62
简介:JSON的语法可以表达三种类型的值。 简单值:与JavaScript语法相同,可以表示字符串、数值、布尔值以及null,但不支持JavaScript的undefined。

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 中的对象还有两点不同:


1. 不需要声明变量。


2. 末尾不需要加分号。

在 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 数据结构的最外层形式。

意见反馈 常见问题 官方微信 返回顶部