JSON
一、概念
javascript Object Notation js对象表示法,是存储和交换文本信息的语法,类似XML,比XML更加轻量化,更小,更快,更易于被解析。
java对象封装数据
Person p = new Person();p.setName("张三");p.setAge(23);p.setGender("男");
json封装数据
var p = {"name":"张三",“age":23,"gender":"男"}
二、语法
1.基本规则
- 数据在名称/值对中:json数据是由键值对构成的。键用引号引起来(单双都可以),也可以不适用引号。
值类型:数字;字符串;逻辑值;数组(放在数组中)例如:{”persons“:[{},{}}
;对象(放在{}中)例如:{”address":{"province":"陕西"...}}
;null
-
数据由逗号分隔:多个键值对由都好分隔
-
花括号保存对象:使用{}定义json格式
-
方括号保存数组:[]
<javascript>
//1.基本格式
var peron={"name":"张三",age:23,'gender':true};//编译可以通过,但是不建议这么写
var peron={"name":"张三","age":23,"gender":true};//建议写法
//获取值
person.name;
person["name"];
//2.嵌套格式
var perons={
"persons":[
{"name":"张三","age":23,"gender":true},
{"name":"李斯","age":23,"gender":true},
` {"name":"王五","age":23,"gender":true},
]
};
//获取数组中的值
var name1 = persons.persons[2].name; //第一个persons是对象,第二个是数组名
var ps = [
{"name":"张三","age":23,"gender":true},
{"name":"李斯","age":23,"gender":true},
` {"name":"王五","age":23,"gender":true},];
//获取值
ps[1].name;
</javascript>
2.获取数据
json对象.键名var name = person.name;
json对象[“键名”]var name = person["name"];
数组对象[索引]var name = ps[1].name;
3.遍历数据
<javascript>
//1.基本格式
var peron={"name":"张三","age":23,"gender":true};//建议写法
//遍历
for(var key in person){
alert(key);//->依次打印name,age,gender
alert(key+":"+person[key]);//打印键值对
}
//2.嵌套
var ps = [
{"name":"张三","age":23,"gender":true},
{"name":"李斯","age":23,"gender":true},
` {"name":"王五","age":23,"gender":true}
];
//使用双层循环遍历获取
for(var i = 0;i<ps.length;i++){
var p = ps[i];
for(var key in p){
alert(key);//->依次打印name,age,gender
alert(key+":"+person[key]);//打印键值对
}
}
</javascript>