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);
