我有像这样的JSON数组
[
{"id": "someId",
"name": "someName",
"other": "other"},
{"id": "someId1",
"name": "someName1",
"other": "other1"}
]
我需要迭代它以检索键:值对并将其分配给对象。我需要它,因为我不需要一些元素,我想要一些造型。
所以,经过这次操作后,我希望:
id=someId
name=someName
other=other
id=someId1
name=someName1
other=other1
我将在JSON.stringify(创建对象。)
之后使用它所以现在我有
var data = {};
for(var i = 0; i < docs.length; i++){
data[docs[i]._id] = docs[i]._id;
}
console.log(data);
此后我有
someId = someId
抱歉错误。 更新!!!!!!!!!!
所以JSON只是一个样本。从mongodb返回真正的JSON,这就是它有效的原因。
在for循环中我有:
data[docs[i]._id] = docs[i]._id;
并返回
someId = someId
但是我需要
id = someId
所以我不能将循环中的键分配给对象,因为它取代了值。
感谢。
答案 0 :(得分:0)
我完全不确定你想要什么,但如果你想迭代你的json对象数组,那么你可以像这样使用jQuery的.each
:
var arr = [
{'id': 'someId', 'name': 'someName', 'other': 'other'},
{'id': 'someId1', 'name': 'someName1', 'other': 'other1'}
];
$(arr).each(function(index,elem){
console.log(elem.Id);
console.log(elem.name);
console.log(elem.other);
//or watever you want to do with the values
});
此外:确保您的json对象有效。在第二个json对象中,你的密钥name
缺少双引号。
答案 1 :(得分:0)
在Plain JavaScript中,您可以编写类似如下的内容
var arr = [
{'id': 'someId', 'name': 'someName', 'other': 'other'},
{'id': 'someId1', 'name': 'someName1', 'other': 'other1'}
];
//plain javascript for in loop
for ( var key in arr){
var nodes = arr[key]
// get to the nested obj
for(var innernodes in nodes){
console.log(innernodes + ' : ' + nodes[innernodes]);
}
}