var person = {
name: ‘王欢’,
age: 18
};
上述是一个JavaScript中创建字面量的方式,实际上,在JS中,这个对象字面量完全可以写成:
var person = {
“name”: ‘王欢’,
“age”: 18
};
但是,在JSON中,表示上述对象的方式为:
{
“name”: ‘王欢’,
“age”: 18
};
在这里,JSON有两点与JavaScript不同,首先,没有声明变量(JSON中没有变量的概念);其次,没有末尾的分号。而且,需要注意的是:在JSON中,对象的属性必须加双引号。属性的值可以是简单值,也可以是复杂类型值。
比如:可以用JSON实现对象中嵌套对象
{
“name”: “王欢”.
“age”:18,
“college”: {
“name”: “西安邮电大学”,
“location”: “xi’an”
}
上面这个例子在顶级对象中嵌套了学校(“college”)的信息。虽然,在上面的例子中,有两个name
属性,但由于他们分别属于不同的对象,所以可以这样写,不过,同一个对象中绝对不应该出现两个同名属性。
JSON的第二种复杂数据类型是数组,JSON数组采用的就是JavaScript中的数组字面量形式。
如下是JavaScript的数组字面量:
var values = [25,“hello”,true];
在JSON中,可以采用同样的语法表示同一个数组:
[25,“hello”,true]
还可以把数组和对象结合起来,构成更复杂的数据集合,例如:
[
{
“college”: “西安邮电大学”,
“name”: “王欢”,
“sex”: “女”,
“score”: 100
},{
“college”: “西北政法大学”,
“name”: “王宁”,
“sex”: “女”,
“score”: 98
},{
“college”: “陕西师范大学”,
“name”: “小熊”,
“sex”: “女”,
“score”: 95
},{
“college”: “西安交通大学”,
“name”: “小明”,
“sex”: “男”,
“score”: 99
}
]
这个数组包含一些表示学校学生的对象,每个对象都有几个属性。对象和属性通常是JSON数据结构的最外层形式,利用他们可以创造出各种各样的数据结构。