我的json对象来自ajax resaponse.It看起来像这样。
{
"customerID": "87545",
"parentCustomerID": "Parent:87545",
"relationshipID": "87545-- Rel 1234",
"customerName": "87545-- John Snow",
"constitution": "87545-- consti"
}
现在我想要使用DOJO 1.10库或普通的循环javascript迭代这个。但是我无法通过循环。我试过
的方法require(["dojo/_base/array"],
function(array){
array.forEach(JSON.stringify(ajaxJsonData), function(entry, i){ });
});
能不能帮帮我吗?
注意:这个json对象每次动态出现,并且键与jsp页面中输入类型的id相同。所以我需要获得关键和价值。
答案 0 :(得分:3)
遇到这个并想指出你最终可能会迭代你不想要的东西。考虑在循环中添加一个检查:
for (var key in obj) {
if (obj.hasOwnProperty(key)) {
console.log(key, obj[key]);
}
}
这可以防止您在意外事故中意外地处理原型链中的某些事情。我更喜欢使用同样检查的Object.keys
以及更多:
var keys = Object.keys(obj);
keys.forEach(function(key) {
console.log(key, obj[key]);
});
TLDR;运行它并问自己这是否是你想要的:
function Person() {
this.name = 'Joe';
this.age = 21;
}
Person.prototype.sayHello = function() {
console.log('Hi my name is ' + this.name + ', I am ' + this.age);
};
var obj = new Person();
obj.sayHello();
for (var key in obj) {
console.log(key, obj[key]);
}
答案 1 :(得分:1)
使用javascript尝试此操作
for(var key in yourObj) {
var value = yourObj[key];
console.log(value);
}
答案 2 :(得分:1)
您可以在Javascript中使用以下内容:
var obj = { "customerID": "87545", "parentCustomerID": "Parent:87545",
"relationshipID": "87545-- Rel 1234", "customerName": "87545-- John Snow", "constitution": "87545-- consti" };
for (var key in obj) {
console.log(key +":" +obj[key]);
}
说明:它将遍历obj
中的所有密钥,并使用obj
将其与obj[key]
中的相应值一起打印。
您可以通过在浏览器的控制台中复制上述代码来检查结果。
答案 3 :(得分:1)
这是一个js小提琴链接:
http://jsfiddle.net/qo0669dx/1/
var Obj = {
"customerID": "87545",
"parentCustomerID": "Parent:87545",
"relationshipID": "87545-- Rel 1234",
"customerName": "87545-- John Snow",
"constitution": "87545-- consti"
}
for (var key in Obj) {
console.log(key + ":" + Obj[key])
}
答案 4 :(得分:1)
以下是Object not Array。要遍历对象,您可以使用for in
var obj = { "customerID": "87545", "parentCustomerID": "Parent:87545",
"relationshipID": "87545-- Rel 1234", "customerName": "87545-- John Snow", "constitution": "87545-- consti" }
for(var prop in obj) {
console.log(obj[prop]);
}