如何在JavaScript中将JSON对象转换为JSON数组

时间:2018-10-19 08:04:02

标签: javascript arrays json

我拥有的JSON对象

{Yana: 1, Pirelli: 2, Good Year: 1}

预期结果

series: [
         {name: 'Yana', data: [1]},
         {name: 'Pirelli', data: [5]},
         {name: 'Good year', data: [5]}
        ]

4 个答案:

答案 0 :(得分:4)

Object.entries将在这里提供帮助

var input = {"Yana": 1, "Pirelli": 2, "Good Year": 1};
var output = Object.entries(input).map(([name, v]) => ({name, data:[v]}));
console.log (output);

答案 1 :(得分:0)

如何?

const object = {"Yana": 1, "Pirelli": 2, "Good Year": 1};

Object.keys(object).map(key => {
    return {name: key, data: [object[key]]};
})

Object.keysobject获取一个键名数组,可以使用map对其进行迭代。这样,就可以轻松以所需的格式构造输出数组。

答案 2 :(得分:0)

您可以在<button onclick="document.body.outerHTML=document.body.outerHTML"></button>对象中使用forEach()中的Object.keys()

data

答案 3 :(得分:0)

您提供的对象不是有效的JSON对象。 JSON格式的对象将是:

{"Yana": 1, "Pirelli": 2, "Good Year": 1}

假设您在字符串中包含该字符串,那么您要做的第一件事就是将其解析为JS对象:

const jsonData = '{"Yana": 1, "Pirelli": 2, "Good Year": 1}'
const object = JSON.parse(jsonData);

// Now get all the keys from the object:
const brands = Object.keys(object);

// Finally, create a new object with the desired properties:
const result = brands.map(brand => {
  return {
    name: brand,
    data: object[brand]
  };
})