JSON .parse()
JSON 通常用于与服务端交换数据。
在接收服务器数据时一般是字符串。
JSON.parse() 方法将数据转换为 JavaScript 对象。
解析完成后,就可以在网页上使用 JSON 数据
JSON.parse(text[, reviver])
- text:必需, 一个有效的 JSON 字符串。
- reviver: 可选,一个转换结果的函数, 将为对象的每个成员调用此函数。
JSON 不能存储 Date 对象。
如果你需要存储 Date 对象,需要将其转换为字符串。
之后再将字符串转换为 Date 对象。
var text = '{ "name":"b", "initDate":"2013-12-14", "site":"www"}'; var obj = JSON.parse(text); obj.initDate = new Date(obj.initDate);
启用 JSON.parse 的第二个参数 reviver,一个转换结果的函数,对象的每个成员调用此函数。
var text = '{ "name":"Run", "initDate":"2013-12-14", "site":"com"}'; var obj = JSON.parse(text, function (key, value) { if (key == "initDate") { return new Date(value); } else { return value; }});
eval(string):函数可计算某个字符串,并执行其中的的 JavaScript 代码。
eval("var a=1"); // 声明一个变量a并赋值1。
eval("2+3"); // 执行加运算,并返回运算值。
eval("mytest()"); // 执行mytest()函数。
eval("{b:2}"); // 声明一个对象。
对于服务器返回的JSON字符串,如果 jQuery 异步请求没做类型说明,或者以字符串方式接受,那么需要做一次对象化处理,就是将该字符串放于 eval()中执行一次。这种方式也适合以普通 javascipt 方式获取 json 对象:
var u = eval('('+user+')');
alert(eval("{}"); // return undefined
alert(eval("({})");// return object[Object]