如何将数组列表格式化为json [英] How to format array list to json
本文介绍了如何将数组列表格式化为json的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试从数组列表中获取json对象
arrayList [
0: {name: "01", value: "3424234234"}
1: {name: "17", value: "26021734"}
2: {name: "10", value: "435345"}
3: {name: "21", value: "3453"}]
我已将上方数组转换为json,如下所示
I have converted above array to json like below
var getCode={};
getCode = Object.assign({}, arrayList );
我得到的结果如下
getCode
{
0: {name: "01", value: "3424234234"}
1: {name: "17", value: "26021734"}
2: {name: "10", value: "435345"}
3: {name: "21", value: "3453"}
}
但是我需要如下结果
aiCode:
{
01: "3424234234",
17: "26021734",
10: "435345",
21: "3453"
}
如何获取如上所述的JSON字符串
How can I get the JSON stringified as above
推荐答案
You can use Array#reduce
method.
var res = arrayList
// iterate over the array
.reduce((obj, o) => {
// define property
obj[o.name] = o.value;
// return the object
return obj;
// set initial value as an empty object
}, {})
var arrayList = [{
name: "01",
value: "3424234234"
},
{
name: "17",
value: "26021734"
},
{
name: "10",
value: "435345"
},
{
name: "21",
value: "3453"
}
];
var res = arrayList.reduce((obj, o) => {
obj[o.name] = o.value;
return obj;
}, {})
console.log(res)
与 ES6对象销毁相同
var res = arrayList.reduce((obj, { name, value }) => {
obj[name] = value;
return obj;
}, {})
var arrayList = [{
name: "01",
value: "3424234234"
},
{
name: "17",
value: "26021734"
},
{
name: "10",
value: "435345"
},
{
name: "21",
value: "3453"
}
];
console.log(res)
采用扩展语法的单线解决方案:
var res = arrayList.reduce((obj, { name, value }) => ({ [name] : value, ...obj }), {})
或
var res = arrayList.reduce((obj, { name, value }) => (obj[name] = value, obj ), {})
这篇关于如何将数组列表格式化为json的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文