本文共 1165 字,大约阅读时间需要 3 分钟。
转载:
前言
在前端页面很多时候都会用到Json这种格式的数据,最近没有前端,后端的我也要什么都要搞,对于Json对象与Json字符串之间的转换终于摸清楚了几种方式,归纳如下!
一:Json对象转换为json字符串
第一种:使用最原始的for循环自己拼装组合,这个我就不写例子了
第二种:使用浏览器自带的JSON对象,缺点是兼容性不好,对于ie8以下的版本不支持。
1 2 3 | var userinfo = { name: "张三" , age: 1, classname: "一年级" ,friends:[ "N1" , "N2" , "N3" ] }; //Json 对象转换为json字符串 var s = JSON.stringify(userinfo); |
第三种:引用json2.js ,使用JSON对象转换,兼容所有浏览器
1 2 3 | var userinfo = { name: "张三" , age: 1, classname: "一年级" ,friends:[ "N1" , "N2" , "N3" ] }; //Json 对象转换为json字符串 var s = JSON.stringify(userinfo); |
二:json字符串转换为Json对象 (用到这样的场景比较多)
第一种:使用Ajax 的转换对象
1 2 | var workJsonString = "{\"name\":\"张三\",\"age\":1,\"classname\":\"一年级\"}" ; var work1 = $.parseJSON(workJsonString); //使用Ajax |
第二种:使用浏览器自带的JSON对象,缺点是兼容性不好,对于ie8以下的版本不支持。
1 2 | var workJsonString = "{\"name\":\"张三\",\"age\":1,\"classname\":\"一年级\"}" ; var work2 = JSON.parse(workJsonString); //浏览器自带的对象 兼容问题 |
第三种:引用json2.js ,使用JSON对象转换,兼容所有浏览器
1 2 | var workJsonString = "{\"name\":\"张三\",\"age\":1,\"classname\":\"一年级\"}" ; var work3 = JSON.parse(workJsonString); |
第四种:使用eval()对象 注意:json字符串的两端需要加上一个括号
1 2 | var workJsonString = "{\"name\":\"张三\",\"age\":1,\"classname\":\"一年级\"}" ; var work4=eval( "(" + workJsonString + ")" ); |