我想知道如何格式化以下JSON:
{
"names":{
"Nancy":[
],
"Charles":[
]
}
}
以下一个:
{
"names":{
0: Object
"Nancy":[
],
1: Object
"Charles":[
]
}
}
到目前为止,我的代码是:
for(var i=0; i < this.data.length; i++){
storeInfo[i] = this.data[i];
var row = storeInfo[i];
result.names[row.info] = result.names[row.info] || [];
result.names[row.info];
}
我愿意以这种方式names[i]
检索数据,这就是我需要转换它的方式。
我认为为了达到想要的结果,我们需要在数组中设置一个集合。到最后,我们将在一个数组中拥有多个集合。如果你有更好的方法,请建议。
答案 0 :(得分:0)
假设names
是data
中的唯一键:
var data = {
"names":{
"Nancy" : [1,2,3],
"Charles" : [4,5,6],
"Dingo" : [7, 8, 9]
}
}
var i = 0;
for(var name in data.names)
{
data.names[i] = {};
data.names[i][name] = data.names[name];
delete data.names[name];
++i;
}
在此data
结束时将等于:
data = {
"names" : {
"0" : { "Nancy" : [1,2,3] },
"1" : { "Charles" : [4,5,6] },
"2" : { "Dingo" : [7, 8, 9] }
}
}
答案 1 :(得分:0)
假设
data = {
"names":{
"Nancy":[
],
"Charles":[
]
}
}
你的意思是你想要这个?
{
"names":{
"0": { "Nancy":[
] },
"1": { "Charles":[
] }
}
}
所以:
var result = { "names" : {} }
var keys = Object.keys(data.names);
for(var i=0; i < keys.length; i++){
obj = {};
obj[keys[i]] = data.names[keys[i]];
result.names[i] = obj;
}
答案 2 :(得分:0)
虽然已经有其他人在这里回答,但如果只是在obj中打印值,则不需要更改对象。可能这可以帮助,
var data ={
"names":{
"Nancy":[1,2],
"Charles":[ 3,4 ]
}
}
for(var obj in data.names){
console.log(data.names[obj]);
}