一、JSON的解析方法有两种:eval()和JSON.parse()
var jsonstr='{"str1":"Hello,", "str2":"world!"}'; var evalJson=eval('('+jsonstr+')'); var jsonParseJson=JSON.parse(jsonstr);
这样就把jsonstr这个json格式的字符串转换成了JSON对象。
二者的区别在于:JSON.parse()可以解析json格式的数据,并且会对要解析的字符串进行格式检查,如果格式不正确则不进行解析,而eval()可以解析任何字符串,eval()会执行字符串的代码,造成原先字符串的值改变,是不安全的。
二、JSON.parse(text [, reviver])语法
1、参数
text:必选。一个有效的 JSON 字符串。
reviver:可选。一个转换结果的函数,将为对象的每个成员调用此函数。
2、功能
JSON.parse(jsonstr)将格式完好的json字符串转换为json对象。所谓"格式完好",就是要求jsonstr必须符合严格的JSON格式,例如:属性名称必须用双引号,字符串值也必须用双引号括起来,单引号写在{}外。
3、实例
var jsonstr='{"str1":"abc", "str2":"123"}'; var jsonobj=JSON.parse(jsonstr); console.log(jsonobj); 运行结果如下: Object str1: "abc" str2: "123" __proto__: Object
搜索
复制