1.采用eval()函数
定义和用法
eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码。
语法
eval(string)
参数 | 描述 |
---|---|
string | 必需。要计算的字符串,其中含有要计算的 JavaScript 表达式或要执行的语句。 |
返回值
通过计算 string 得到的值(如果有的话)。
例如:
var jsonStr='{"name":"json","sex":"man","age":20}';
var objectJson=eval('('+jsonStr+')');
//objectJson={name: "json", sex: "man", age: 20}
注意:参数为什么写成 '('+jsonStr+')'?参因为jsonStr带有大括号{}字符串,如果不加带引号的括号'('')',就会当做js代码执行,即'{'当做开始,'}'当做结束。
在使用eval对JSON进行执行的时候,JSON字符串通常被包含在一个圆括号里:eval('(' + json + ')'),这样做的原因就是因为分组操作符,也就是这对括号,会让解析器强制将JSON的花括号解析成表达式而不是代码块。
2.采用内置方法JSON.prase()
var jsonStr='{"name":"json","sex":"man","age":20}';
var objectJson=JSON.parse(jsonStr);
//objectJson={name: "json", sex: "man", age: 20}
3.采用JQuery方法$.parseJSON()
var jsonStr='{"name":"json","sex":"man","age":20}';
var objectJson=$.parseJSON(jsonStr);
//objectJson={name: "json", sex: "man", age: 20}
扩展:
可以将json对象转换成json字符串 :JSON.stringify(jsonobj);