js和json的区别:
json是js的字符串表示法,json使用文本表示一个js对象的信息,json本质是字符串。
var js_obj ={username:"柳岩",age:23,gender:"女"};
var json_obj ='{username:"柳岩",age:23,gender:"女"}';
在type下规定响应数据类型为json,ajax会自动将json字符串数据转换成js对象或者js数组
1. 概念: JavaScript Object Notation JavaScript对象表示法
Person p = new Person();
p.setName("张三");
p.setAge(23);
p.setGender("男");
var p = {"name":"张三","age":23,"gender":"男"};
* json现在多用于存储和交换文本信息的语法
* 进行数据的传输
* JSON 比 XML 更小、更快,更易解析。
2. 语法:
1. 基本规则
* 数据在名称/值对中:json数据是由键值对构成的
* 键用引号(单双都行)引起来,也可以不使用引号
* 值得取值类型:
1. 数字(整数或浮点数)
2. 字符串(在双引号中)
3. 逻辑值(true 或 false)
4. 数组(在中括号中) {"persons":[{},{}]}
数组存储的数据: [key1=value1,{key2:value2}],数组中如果以key=value的形式定
义值,实际上这个key没有一点用,取值的时候也是直接person[索引]获取,跟key无关
5. 对象(在大括号中) {"address":{"province":"陕西"....}}
对象存储的数据: {key1:{},key2:value2,key3:[value3]}
6. null
* 数据由逗号分隔:多个键值对由逗号分隔
* 大括号保存对象:使用{}定义json对象 格式
* 中括号保存数组:[]
2. 获取数据:
1. json对象.键名
2. json对象["键名"]
3. 数组对象[索引]
4. 遍历
for in 循环获取json对象中的数据
//1.定义基本格式
var person = {"name": "张三", age: 23, 'gender': true};
var ps = [{"name": "张三", "age": 23, "gender": true},
{"name": "李四", "age": 24, "gender": true},
{"name": "王五", "age": 25, "gender": false}];
//js中,获取person对象中所有的键和值//for in 循环/* for(var key in person){
//这样的方式获取不行。因为相当于 person."name"
//获取值的本质是 对象.属性, pserson.name才可以获取
//拿到的key是一个字符串,不是属性,所以不能person."name"
//alert(key + ":" + person.key);
alert(key+":"+person[key]);
}*/