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