原来的json
var json =
[{ "LABEL":"foo1", "DATA":340020, "BAR":235 },
{ "LABEL":"foo2", "DATA":140084, "BAR":330 },
{ "LABEL":"fooN", "DATA":126489, "BAR":120 }];
在所需格式下方,新DATA
对应旧BAR
[{ "LABEL":"foo1", "DATA":235 },
{ "LABEL":"foo2", "DATA":330 },
{ "LABEL":"fooN", "DATA":120 }];
答案 0 :(得分:3)
没有什么特别的花哨。我使用嵌套循环:
var index, jBar, obj;
jBar = [];
for (index = 0; index < json.length; ++index) {
obj = json[index];
jBar[index] = {LABEL: obj.LABEL, DATA: obj.BAR};
}
以上要点:
[]
创建一个新的空白数组以分配给jBar
。json
,that's not what it's for)循环遍历for..in
数组。{...}
)创建要放入jBar
的条目。jBar
。您可以使用jBar.push({...});
代替,但令人惊讶的是,它在几个平台上速度较慢,而且非常清楚,所以...... 答案 1 :(得分:0)
var i;
var json =
[{ "LABEL":"foo1", "DATA":340020, "BAR":235 },
{ "LABEL":"foo2", "DATA":140084, "BAR":330 },
{ "LABEL":"fooN", "DATA":126489, "BAR":120 }];
var jBar =
[{ "LABEL":"foo1", "DATA":235 },
{ "LABEL":"foo2", "DATA":330 },
{ "LABEL":"fooN", "DATA":120 }];
for(var i=0;i<json.length;i++)
jBar[i].DATA=json[i].DATA;
现在jbar与json具有相同的DATA
答案 2 :(得分:0)
您正在将Array属性设置为未定义的值。 JSON.stringify忽略数组的其他属性