我是JavaScript新手。在浏览器中,我收到了一个长字典,像这样:
{"cat": "4" , "dog": "5", "fish": "9" }
我想知道将其转换为JSON对象的最有效方法是什么:
[
{
"name": "cat",
"value": "4"
},
{
"name": "dog",
"value": "5"
},
{
"name": "fish",
"value": "9"
}
]
答案 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)
您可以通过以下方式进行此操作:
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}
]