JSON的语法是JavaScript语法的一个子集。

1.         数据都是以键值对的形式保存的。

2.         数据之间用逗号分隔。

3.         用大括号保存对象。

4.         用中括号保存数组。

例子:

"myname" : "张三"

JSON的键:

键是普通字符串。

JSON的值:

JSON 值可以是:

 

数字(整数或浮点数)

字符串(在双引号中)

逻辑值(true 或 false)

数组(在中括号中)

对象(在大括号中)

null

 

数字:

{“age”:21}

字符串:

{"name":"张三"}

逻辑值:

{"flag":true}

对象:

(包含在大括号{}中的是一个完整的对象):

{ "name":"张三" , "年龄":12,"性别":"男" }

对象嵌套:

myObj = {

    "name":"张三",

    "age":28,

    "address": {

        "address1":"西城",

        "address2":"东城",

        "address3":"朝阳"

    }

}

访问对象的值

1.         使用点号(.)来访问对象的值。

示例:

var myObj, x;

myObj = { "name":"张三", "age":13, "address":”NEW YORK” };

x = myObj.name;

2使用中括号([])来访问对象的值

遍历对象

使用 for-in 来循环对象的属性:

例子:点号来访问

var myObj, x;

myObj = { "name":"张三", "age":13, "address":”NEW YORK” };

for (x in myObj) {

    document.getElementById("demo").innerHTML += x + "<br>";

}

例子:中括号来访问

var myObj, x;

myObj = { "name":"张三", "age":13, "address":”NEW YORK” };

for (x in myObj) {

    document.getElementById("demo").innerHTML += myObj[x] + "<br>";

}

例子:访问多层嵌套的对象

myObj = {

    "name":"张三",

    "age":28,

    "address": {

        "address1":"西城",

        "address2":"东城",

        "address3":"朝阳"

    }

}

访问其中的address1

x = myObj.address.address1;

// 或者

x = myObj.address["address1"];

 

修改对象的值

直接给访问的对象重新赋值。

例子:

myObj.address.address1 = "海淀";

或者

myObj.address[“address1”] = "海淀";

 

删除对象的属性

使用delete关键字删除对象的属性。

例子:

delete myObj.address.address1;

或者

delete myObj.address[“address1”];