JavaScript json 对象



对象的语法

{ "name":"John", "age":30, "car":null }

JSON 对象被大括号环绕 {}.

JSON 对象被写成key/value对.

key必须是字符串,并且value必须是一个有效的JSON数据类型(字符串、数字、对象、数组、布尔值或空).

Keys 和 values 由冒号分隔.

每个key/value对被逗号分隔.


访问对象的值

您可以使用点(.)访问对象值:

myObj = { "name":"John", "age":30, "car":null };
x = myObj.name;

让我试试

还可以使用方括号([])访问对象值:

myObj = { "name":"John", "age":30, "car":null };
x = myObj["name"];

让我试试


循环一个对象

你可以使用for-in循环,遍历一个对象:

myObj = { "name":"John", "age":30, "car":null };
for (x in myObj) {
    document.getElementById("demo").innerHTML += x;
}

让我试试

在for-in循环里, 使用括号表示法访问属性值:

myObj = { "name":"John", "age":30, "car":null };
for (x in myObj) {
    document.getElementById("demo").innerHTML += myObj[x];
}

让我试试


嵌套的 JSON 对象

JSON的值可以是另外一个JSON对象.

myObj = {
    "name":"John",
    "age":30,
    "cars": {
        "car1":"Ford",
        "car2":"BMW",
        "car3":"Fiat"
    }
 }

您可以访问嵌套的JSON对象使用点符号或括号:

x = myObj.cars.car2;
//or:
x = myObj.cars["car2"];

让我试试


修改值

你可以使用点表示法修改JSON对象的任何值:

myObj.cars.car2 = "Mercedes";

让我试试

你也可以使用方括号来修改一个JSON对象值:

myObj.cars["car2"] = "Mercedes";

让我试试


删除对象的属性

使用delete关键字从JSON对象删除一个属性:

delete myObj.cars.car2;

让我试试