陣列、物件陣列轉化成JSON物件的情況
阿新 • • 發佈:2019-01-09
1、陣列轉化成JSON物件後,key值是索引,value是陣列對應的值。
//陣列也可以轉化成JSON物件
var jStr3 = "[[10,20,30],40,50,60]";
var j3 = JSON.parse(jStr3);
for(let key in j3){
console.log('key:',key);
}
// key: 0
// key: 1
// key: 2
// key: 3
for(let value of j3){
console.log('value:',value);
}
// value: (3) [10, 20, 30]
// value: 40
// value: 50
// value: 60
j3.forEach((item,index)=>{
console.log('item:',item,'index:',index);
})
// item: (3) [10, 20, 30] index: 0
// item: 40 index: 1
// item: 50 index: 2
// item: 60 index: 3
j3 = JSON.parse(jStr3,(key,value)=>{
console.log('key:',key,'value:' ,value);
});
// 把所有值都遍歷出來了
// key: 0 value: 10
// key: 1 value: 20
// key: 2 value: 30
// key: 0 value: (3) [empty × 3]
// key: 1 value: 40
// key: 2 value: 50
// key: 3 value: 60
// key: value: (4) [empty × 4]
2、陣列物件可以直接序列化成字串
var jStr31 = [[10,20,30],40,50,60];
console.log(JSON.stringify(jStr31));
console.log (jStr31.toString());
console.log(jStr31.join('-'));
// [[10,20,30],40,50,60]
// 10,20,30,40,50,60
// 10,20,30-40-50-60
3、物件陣列轉化成JSON物件
var jStr = '[{"name":"a"},{"name":"b"}]';
var j = JSON.parse(jStr);
console.log(j);
// (2) [{…}, {…}]
// 0: {name: "a"}
// 1: {name: "b"}
// length: 2
// __proto__: Array(0)
for(let key in j){
console.log('key:',key)
}
// key: 0
// key: 1
for(let item of j){
console.log('item of:',item.name);
}
// item of: {name: "a"}
// item of: {name: "b"}
j.forEach((item,index)=>{
console.log('index:',index,'item:',item);
})
// index: 0 item: {name: "a"}
// index: 1 item: {name: "b"}