我在JavaScript中有以下JSON字符串:
{
"0":
{"race":"Race1","sum":"13.7","color":"#BEBEBE"},
"1":
{"race":"Race2","sum":"20.3","color":"#B03060"},
"2":
{"race":"Race3","sum":"35.2","color":"#FFFF01"},
"3":
{"race":"Race4","sum":"31.3","color":"#4A6FE3"},
"4":
{"race":"Unknown","sum":0,"color":"#9ACD32"}
}
我需要转换为:
编辑的示例
[{"race":"Race1","sum":"13.7","color":"#BEBEBE"},
{"race":"Race2","sum":"20.3","color":"#B03060"},
{"race":"Race3","sum":"35.2","color":"#FFFF01"},
{"race":"Race4","sum":"31.3","color":"#4A6FE3"},
{"race":"Unknown","sum":0,"color":"#9ACD32"}]
有什么方法可以实现吗?
您可以简单地解析并获取这样的值。
var jsonStr = '{"0":{"race":"Race1","sum":"13.7","color":"#BEBEBE"},"1":{"race":"Race2","sum":"20.3","color":"#B03060"},"2":{"race":"Race3","sum":"35.2","color":"#FFFF01"},"3":{"race":"Race4","sum":"31.3","color":"#4A6FE3"},"4":{"race":"Unknown","sum":0,"color":"#9ACD32"}}';
var json = Object.values(JSON.parse(jsonStr));
console.log(json)
您可以在没有键的对象中拥有对象,您应该将它们保留在数组中或处于原始状态
如果要修改,请使用Object.key(obj)
,然后遍历所有键
var obj = {
"0":
{"race":"Race1","sum":"13.7","color":"#BEBEBE"},
"1":
{"race":"Race2","sum":"20.3","color":"#B03060"},
"2":
{"race":"Race3","sum":"35.2","color":"#FFFF01"},
"3":
{"race":"Race4","sum":"31.3","color":"#4A6FE3"},
"4":
{"race":"Unknown","sum":0,"color":"#9ACD32"}
}
var arr = [];
Object.keys(obj).forEach(function(item) {
arr.push(obj[item]);
})
console.log(arr);
或者按照@trincot的建议使用地图
var obj = {
"0":
{"race":"Race1","sum":"13.7","color":"#BEBEBE"},
"1":
{"race":"Race2","sum":"20.3","color":"#B03060"},
"2":
{"race":"Race3","sum":"35.2","color":"#FFFF01"},
"3":
{"race":"Race4","sum":"31.3","color":"#4A6FE3"},
"4":
{"race":"Unknown","sum":0,"color":"#9ACD32"}
}
var arr = Object.keys(obj).map(function(item) {
return obj[item]
})
console.log(arr);
然而,最简单的使用Object.values(obj)
var obj = {
"0":
{"race":"Race1","sum":"13.7","color":"#BEBEBE"},
"1":
{"race":"Race2","sum":"20.3","color":"#B03060"},
"2":
{"race":"Race3","sum":"35.2","color":"#FFFF01"},
"3":
{"race":"Race4","sum":"31.3","color":"#4A6FE3"},
"4":
{"race":"Unknown","sum":0,"color":"#9ACD32"}
}
console.log(Object.values(obj));
使用 object.values()
函数:
let f=
{
"0":
{"race":"Race1","sum":"13.7","color":"#BEBEBE"},
"1":
{"race":"Race2","sum":"20.3","color":"#B03060"},
"2":
{"race":"Race3","sum":"35.2","color":"#FFFF01"},
"3":
{"race":"Race4","sum":"31.3","color":"#4A6FE3"},
"4":
{"race":"Unknown","sum":0,"color":"#9ACD32"}
}
Console.log(Object.values(f))
输出 :
[ { race: 'Race1', sum: '13.7', color: '#BEBEBE' },
{ race: 'Race2', sum: '20.3', color: '#B03060' },
{ race: 'Race3', sum: '35.2', color: '#FFFF01' },
{ race: 'Race4', sum: '31.3', color: '#4A6FE3' },
{ race: 'Unknown', sum: 0, color: '#9ACD32' } ]