如何用字典制作JSON对象?

时间:2018-07-06 07:15:55

标签: javascript arrays json object

我是JavaScript新手。在浏览器中,我收到了一个长字典,像这样:

{"cat": "4" , "dog": "5", "fish": "9" }

我想知道将其转换为JSON对象的最有效方法是什么:

[
  {
    "name": "cat",
    "value": "4"
  },
  {
    "name": "dog",
    "value": "5"
  },
  {
    "name": "fish",
    "value": "9"
  }
]

5 个答案:

答案 0 :(得分:2)

您可以遍历它,并将每个键值对推入一个数组。

<dependency>
    <groupId>com.oracle</groupId>
    <artifactId>ojdbc7</artifactId>
    <version>12.1.0.2</version>

<systemPath>
${basedir}/src/main/webapp/WEB-INF/lib/ojdbc7.jar
</systemPath>
</dependency>

答案 1 :(得分:2)

您可以使用 Object.keys() method 遍历字典对象键,然后使用.map() method将每个迭代键/值对转换为适当的object

var results = Object.keys(obj).map(function(k) {
  return {
    name: k,
    value: obj[k]
  };
});

演示:

var obj = {
  "cat": "4",
  "dog": "5",
  "fish": "9"
};

var results = Object.keys(obj).map(function(k) {
  return {
    name: k,
    value: obj[k]
  };
});
console.log(results);

答案 2 :(得分:1)

您可以使用函数Object.entries获取每个键值对,并使用函数map构建所需的输出。

let obj = {"cat": "4" , "dog": "5", "fish": "9" },
    result = Object.entries(obj).map(([name, value]) => ({name, value}));

console.log(result);
.as-console-wrapper { max-height: 100% !important; top: 0; }

答案 3 :(得分:1)

您可以通过以下方式进行此操作:

  • 调用for in循环并读取您的第一个对象
  • 将名称和值一一推送到新对象中。 示例代码:

var a = {"cat": "4" , "dog": "5", "fish": "9" };
var newJSON = [] ;
console.log(a);


for ( key in a ) {
  newJSON.push({name : key, value : a[key]});
 }

console.log(newJSON);

答案 4 :(得分:0)

您可以拥有这种格式化的对象

{
    animals : [
        {"name":"cat", "value": 4},
        {"name":"dog", "value": 5},
        {"name":"fish", "value": 9}
    ]
}

或类似的

[
   {"name":"cat", "value": 4},
   {"name":"dog", "value": 5},
   {"name":"fish", "value": 9}
]