json和XML很像,但它具有更快,更小,阅读性强等优点。不多说,直接来例子:
<html>
<body>
<h2>通过 JSON
字符串来创建对象</h3>
<p>
First Name: <span
id="fname"></span><br />
Last Name: <span
id="lname"></span><br />
</p>
<script
type="text/javascript">
var txt = ‘{"employees":[‘
+
‘{"firstName":"Bill","lastName":"Gates" },‘
+
‘{"firstName":"George","lastName":"Bush" },‘
+
‘{"firstName":"Thomas","lastName":"Carter" }]}‘;
Var test={"people":[
{"name":"zhoudachuang","age":22},
{"name":"zhangpengpeng"},
{"name":"zhanghua","age":28,"adress":"123"}]};//每个对象的属性值个数可以不一样
//由于 JSON 语法是 JavaScript 语法的子集,JavaScript 函数 eval() 可用于将 JSON 文本转换为
JavaScript 对象。
eval() 函数使用的是 JavaScript 编译器,可解析 JSON 文本,然后生成 JavaScript
对象。必须把文本包围在括号中,这样才能避免语法错误:
var obj = eval ("(" + txt +
")");//将json文本转换成javascript对象
document.getElementById("fname").innerHTML=test.people[0].name
document.getElementById("lname").innerHTML=obj.employees[1].lastName
</script>
</body>
</html>
可以把这段代码直接粘贴,然后执行看效果。
下面是一个json的扩展用法
//对json对象的增删查改操作
//声明json对象
var jsonObj2={persons:[{name:"jordan",sex:"m",age:"40"}, {name:"bryant",sex:"m",age:"28"}, {name:"McGrady",sex:"m",age:"27"} ]};
var persons=jsonObj2.persons;
var str="";
var person={name:"yaoMing",sex:"m",age:"26"};
//以下为json对象的操作,去掉注释可以查看操作结果
//jsonObj2.persons.push(person);//数组最后加一条记录
下面的就不上图了
//jsonObj2.persons.pop();//删除最后一项
//jsonObj2.persons.shift();//删除第一项
jsonObj2.persons.unshift(person);//数组最前面加一条记录
只要适合Javascript的方法都是可以用在JSON对象的数组中的!所以还有另外的方法splice( )进行crud操作! //删除
//jsonObj2.persons.splice(0,2);//开始位置,删除个数
//替换不删除
var
self={name:"tom",sex:"m",age:"24"};
var
brother={name:"Mike",sex:"m",age:"29"};
jsonObj2.persons.splice(1,0,self,brother,self);//开始位置,删除个数,插入对象
//替换并删除
//jsonObj2.persons.splice(0,1,self,brother);//开始位置,删除个数,插入对象
for(var i=0;i<persons.length;i++){ var cur_person=persons[i];
str+=cur_person.name+"‘sex is "+cur_person.sex+" and age is
"+cur_person.age+"<br><br>"; }
document.writeln(str);
//转换为json文本
var myjsonobj = JSON.stringify(jsonObj2);
document.writeln(myjsonobj);