前言
在前端頁面很多時候都會用到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 + ")");
總結:個人的一點總結,有錯誤的地方,歡迎大家評論,互相學習。