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”];