js中 json對象,json字符串,json數(shù)組 相互轉(zhuǎn)換

1、JSON對象 轉(zhuǎn)化為 JSON字符串
  • JSON.stringify()方法進行轉(zhuǎn)換
let jsonStr = JSON.stringify(jsonObj);

// for example
let obj = {'name':'lucy', 'age':8,'sex':'female'};
let str = JSON.stringify(obj);
console.log(str) // "{"name":"lucy","age":8,"sex":"female"}";
2、JSON字符串 轉(zhuǎn)化為 JSON對象
  • eval()方法進行轉(zhuǎn)換
let jsonObj = eval('(' + jsonStr + ')');

// for example
let str = '{a:1,b:2}';
eval('(' + str + ')'); //需要在字符串外包裹一對括號(),  {a: 1, b: 2}
  • JSON.parse()方法進行轉(zhuǎn)換
// 原生方法
let jsonObj = JSON.parse(jsonStr);
// jquery方法
let jsonObj = $.parseJSON(jsonStr);

// for example
var str = '{"name":"lucy", "age":8,"sex":"female"}';
JSON.parse(str);  //{name: "lucy", age: 8, sex: "female"}

使用JSON.parse()需要注意一點,此方法是將JSON字符串轉(zhuǎn)換成對象,所以字符串必須符合JSON格式,即鍵值都必須使用雙引號包裹:
```
let a = '["1","2"]';
console.log(JSON.parse(a)); // ["1", "2"]
let b = "['1','2']";
console.log(JSON.parse(b)); // 報錯
```

3、JSON對象 轉(zhuǎn)化為 JSON數(shù)組
// 循環(huán),鍵值都保留
// {'name':'lucy', 'age':8,'sex':'female'}
// [{name: 'lucy},{age: 8}, {sex: "female"}]
let jsonObj={'name':'lucy', 'age':8,'sex':'female'};
function objToArray(array) {
    var arr = []; 
    for (var i in array) {
         var o={};
         o[i]=array[i];
         arr.push(o); 
     }
     return arr;
 }
let jsonArr = objToArray(jsonObj);
console.log(jsonArr ); // [{name: 'lucy},{age: 8}, {sex: "female"}]
4、JSON數(shù)組 轉(zhuǎn)化為 JSON對象
var arr = ['lucy', 8, 'female'];
var json= {};
for (var i = 0; i < arr.length; i++) {
  json["屬性" + i] = arr[i];
}
let jsonObj= JSON.stringify(json); 
console.log(jsonObj); // {"屬性0":"lucy","屬性1":8,"屬性2":"female"}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容