1.
JSON是指JavaScript Object Notation,即JS对象表示法。所以说JSON其实是一种数据格式,因为JS原生的支持所以赋予了JSON强大生命力。
var oPerson ={
name:"ziqiu.zhang",
age:111,
school:
{
college:"BITI",
"high school":"No.18"
},
like:["mm"]
};
JSON的语法格式是使用“{”和“}”表示一个对象,使用“属性名称:值”的格式创建属性,多个属性用“,”隔开。
上例中school属性又是一个对象。like属性是一个数组。使用JSON格式的字符串创建完对象后,就可以用"."或者索引的形式访问属性:
object.school["high school"];
object.like[1];
JSON经常在AJAX中使用。让服务器端页面只返回JSON格式的数据,使用JS的eval()方法将JSON格式的数据转换为对象,一边使用JS操作。
2.动态语言eval
使用eval()方法可以将JSON格式的字符转换为JS对象
var sJson = "{name:"ziqiu,zhang"}";
eval("var oName ="+sJson);
alert(oName.name); //输出"ziqiu,zhang"
这里的sJson对象存储的是JSON格式的字符串,这个时候字符串的内容还没有呗解析成对象。使用eval()方法可以将sJson字符串转化为对象
存储在oName对象中。
eval()函数可计算某个字符串,并执行其中的JS代码。这使得JS成了动态语言,可以在运行时构造语句,通过执行eval()函数,就像上面的解析
JSON字符一样。
eval()函数是有返回值的:
var iNum = eval("5+2");
alert(iNum); //输出 “7”
eval强大的功能使JS开发人员可以发挥无穷的想象力,实现在一些高级语言中无法实现或者实现起来很困难的功能。