JSON
:
J
ava
S
cript
O
bject
N
otation
JavaScript对象表示法
JSON是多用于存储和交换文本信息的语法
类似于XML 但比XML更小 更快 因此传输速度更快
将零散的数据
封装成对象
例:
Java对象表示:
Person p=new Person();
p.setName("Piconjo");
p.setAge(18);
p.setGender("男");
JSON表示:
var p={
"name":"Piconjo",
"age":18,
"gender":"男"
}
语法
一、基本规则
1、数据在键值对中
JSON数据是由
键值对
构成的
键用引号(单双引号)引起来 也可以不使用引号
值的类型:
-
数字
(整数或浮点数) -
字符串
(在引号中) -
逻辑值
(true/false) -
数组
(在方括号中) -
对象
(在花括号中) -
null
2、数据由逗号分隔
多个键值对由逗号分隔
3、花括号{}保存对象
使用{}来定义JSON格式
可相互嵌套
例:
{"name":{"firstname":"Pico"},"address":{"province":"浙江"}}
4、方括号[]保存数组
表示容纳了
多个对象
可相互嵌套
例:
{"Person":[{"name":"小A"},{"name":"小B"},{"name":"小C"}]}
二、定义
1、基本格式
例:
var person={"name":"陈涛",age:18,'gender':true};
2、嵌套格式:{} => []
例:
var persons={"persons":[
{
"name":"陈涛",
"age":18,
"gender":true
},
{
"name":"张涛",
"age":18,
"gender":true
},
{
"name":"王涛",
"age":18,
"gender":true
}
]};
3、嵌套格式:[] => {}
例:
var persons=[
{
"name":"陈涛",
"age":18,
"gender":true
},
{
"name":"张涛",
"age":18,
"gender":true
},
{
"name":"王涛",
"age":18,
"gender":true
}
];
三、获取
1、JSON对象.键名
例:
var name=person.name
2、JSON对象[“键名”]
例:
var name=person["name"]
3、JSON数组对象[索引下标]
例:
var name=persons.persons[1].name
var name=ps[1].name
四、遍历
1、单层遍历
key指代的就是键值对中的键
例:
for(var key in person)
{
alert(key+" : "+person[key]);
}
2、双层遍历
先获取出每个对象 再对对象进行遍历操作
例:
for (var i=0;i<ps.length;i++)
{
var p=ps[i];
for (var key in p)
{
alert(key+" : "+p[key])
}
}