Json字符串轉化成Json對象、數組 + 向Json數組插入一個字段


1.Json字符串轉化成對象

普通形式,也就是字段帶有雙引號,可以使用JSON.parse()完成轉化

var a='{"field":"Adu"}';var b=JSON.parse(a);console.log(b);   //輸出{field: "Adu"}

但通常情況下不可能這么完美,比如,你的字段是單引號

var a="{'field':'Adu'}";var b=JSON.parse(a);console.log(b);

//報錯Unexpected token ' in JSON at position 1

那么,就要對這種情況進行轉換,后端傳遞的時候,就要使用轉義字符

var a="{\"field\":\"Adu\"}";var b=JSON.parse(a);console.log(b);
//完美轉化 {field: "Adu"}

2.Json字符串轉化成數組

有了上面的經驗就好說了,只需要遍歷數組就可以了

var a=["{ \"field\": \"Enter_Name\",\"field02\": \"Adu\"}","{ \"field\": \"Enter02\" }"];
var b=[];
a.forEach(t => b.push(JSON.parse(t)));

//輸出:
//0: {field: "Enter_Name", field02: "Adu"}
//1: {field: "Enter02"}

3.向現有數組中添加一個字段

有些字段不好展示,比如width:fixWidth(0.2),它是一個函數,不能帶引號,那么只能后手插入

還是利用上面的例子。

var a=["{ \"field\": \"Enter_Name\",\"field02\": \"Adu\"}","{ \"field\": \"Enter02\" }"];
var b=[];
a.forEach(t => b.push(JSON.parse(t)));
var c=[];
b.map((item,index)=>{c.push(Object.assign({},item,{width:fixWidth(0.2)}))});

先向數組b中插入轉換的數據,再添加字段。使用Object.assign給一個空對象插入item和字段。

 

或者是直接遍歷b數組,添加字段

var a=["{ \"field\": \"Enter_Name\",\"field02\": \"Adu\"}","{ \"field\": \"Enter02\" }"];var b=[];
a.forEach(t => b.push(JSON.parse(t)));
b.forEach((value,index) => {value['width']=fixWidth(0.2)});console.log(b);

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM