ajax传递复杂数据如果自己进行格式定义的话,会经历组装,解析的过程,因此 ajax中就有了一个事实上的数据传输标准json。Json(是一个标准,就像XML一样,Json规定了以什么样的格式保存为一个字符串),将复杂的对象序列化为一个字符串,在浏览器再将字符串反序列化为JavaScript可以读取的对象。 Json几乎被所有的语言支持。
json是javascript对象或者数组格式的字符串。HTTP协议不能传递javascript对象。所以需要转化为字符串进行传输。。
//键值对
var p1 = { name: 'rupeng', age: 8 };
//alert(p1.age);
//普通数组
var str = ["rupeng", "baidu", "qq"];
for (var i = 0; i < str.length; i++) {
//alert(str[i]);
}
//对象数组
var persons = [{ name: 'rupeng', age: 8 }, { name: 'baidu', age: 9 }, { name: 'qq', age: 10 }];
for (var i = 0; i < persons.length; i++) {
var person = persons[i];
//alert(person.name+"==="+person.age);
}
//对象的某个属性还可以是某个另外一个对象
//(就是狗的主人又调用了一个对象。master,maser的属性包括名字、性别)
var dog = { name: 'xiaoquan', age: 9, master: { name: 'xcl', sex: '男' } };
alert("狗的名字:"+dog.name + "狗主人是:" + dog.master.name + "性别:" + dog.master.sex);
var str = "[{ name: 'rupeng', age: 8 }, { name: 'baidu', age: 9 }, { name: 'qq', age: 10 }]";
var persons = eval("(" + str + ")");//persons就是一个对象
for (var i = 0; i < persons.length; i++) {
var person = persons[i];
alert(person.name+"==="+person.age);