前端页面使用 Json对象与Json字符串之间的互相转换

时间:2023-11-27 10:45:14

前言

在前端页面很多时候都会用到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 + ")");

总结:个人的一点总结,有错误的地方,欢迎大家评论,互相学习。