解析JSON字符串

1.  JSON.parse

作用:将JavaScript对象表示法的JSON字符串转换为对象(字符串转对象)

语法:JSON.parse(text [, reviver])text 必选。 一个有效的 JSON 字符串。reviver 可选。 一个转换结果的函数。 将为对象的每个成员调用此函数。返回值 : JSON对象 

实例:

var jsonStr = '{"siteName":"web开发","url":"www.baidu.com"}' ;
var jsonObj = JSON.parse(jsonStr);
alert(typeof jsonObj); //Object

评价:安全,解析速度也很快。网上声称Firefox 3.1 和 IE 8 RC1浏览器内置该API接口,可以直接使用。如果考虑很多浏览器不支持内置的JSON,则在文件中引入json.js脚本即可。


2.   json_parse()

var vjson = json_parse(jsonstr); 

评价:安全,解析速度也很快,不过需要引入json_parse.js脚本; 


3.  eveal()

var vjson = eval(jsonstr); 

评价:不安全,有可能jsonstr中有恶意脚本,那就麻烦了。 


4.  JSON.stringify

作用:将 JavaScript json对象转换为JavaScript对象表示法的JSON字符串(对象转为字符串)
语法:JSON.stringify(value [, replacer] [, space]);
value 必选 通常为对象或数组
replacer 可选转换结果的函数或数组
space 可选。 添加缩进、空白和换行符来返回值 JSON 文本更便于阅读。
         如果省略 space,返回值文本生成,没有任何额外的空白。
         如果 space 是数字,则返回值具有空白的文本缩进指定数目在每个级别的。 如果 space 大于 10 时,文本缩进 10 个空白。
         如果 space 为非空字符串,如“ ”,返回值文本缩进与字符串的字符在每个级别。
         如果 space 为大于 10 个字符的字符串,使用前 10 个字符。
返回值:JSON 包含的文本字符串。
实例:

var site= new Object();
site.name = "web开发";
site.url= "www.www.baidu.com"; 

var jsonSite = JSON.stringify(site);
alert(
typeof jsonSite); //string
原文地址:https://www.cnblogs.com/sihuiming/p/5421074.html