Json对象与Json字符串互转

1. 浏览器支持的转换方式(Firefox,chrome,opera,safari,ie9,ie8)等浏览器:

JSON.parse(jsonstr); //可以将json字符串转换成json对象

JSON.stringify(jsonobj); //可以将json对象转换成json字符串

注:ie8(兼容模式),ie7和ie6没有JSON对象,推荐采用JSON官方的方式,引入json.js。


直接来代码!

var str='{"leg":4,"eye":2,"height":100,"food":"meat"}';

var obj=JSON.parse(str); json 字符串转json对象

console.log(obj);

输出为一个对象 内容为

eye:2

food:"meat"

height:100

leg:4


var dog={leg:4,eye:2,height:100,food:"meat"};

var str=JSON.stringify(dog);  json对象转换成json对符串

console.log(str);

输出字符串

{"leg":4,"eye":2,"height":100,"food":"meat"}


2. Javascript支持的转换方式

eval('(' + jsonstr + ')'); 

可以将json字符串转换成json对象,注意需要在json字符外包裹一对小括号

注:ie8(兼容模式),ie7和ie6也可以使用eval()将字符串转为JSON对象,但不推荐这些方式,这种方式不安全eval会执行json串中的表达式。


var str='{"leg":4,"eye":2,"height":100,"food":"meat"}';

var obj=eval('(' + str + ')'); json 字符串转json对象

console.log(obj);

输出为一个和上面JSON.parse(str)输出一样的对象 内容为

eye:2

food:"meat"

height:100

leg:4


3. jQuery插件支持的转换方式



$.parseJSON( jsonstr ); //jQuery.parseJSON(jsonstr),可以将json字符串转换成json对象



4. JSON官方的转换方式

http://www.json.org/提供了一个json.js,这样ie8(兼容模式),ie7和ie6就可以支持JSON对象以及其stringify()和parse()方法;

可以在https://github.com/douglascrockford/JSON-js上获取到这个js,一般现在用json2.js。



PS:这里再为大家提供几款功能十分强大的json解析、转换与格式化工具供大家选择使用,相信对于大家接下来的json格式数据处理会有所帮助:

在线JSON代码检验、检验、美化、格式化工具:

http://tools.jb51.net/code/json

在线XML/JSON互相转换:

http://tools.jb51.net/code/xmljson

json代码在线格式化/美化/压缩/编辑/转换工具:

http://tools.jb51.net/code/jsoncodeformat

C语言风格/HTML/CSS/json代码格式化美化工具:

http://tools.jb51.net/code/ccode_html_css_json

推荐阅读更多精彩内容