如何将数组列表格式化为json [英] How to format array list to json

查看:178
本文介绍了如何将数组列表格式化为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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆