使用 DOJO 或 javascript 遍历 JSON 对象

Iterate through JSON object using DOJO or javascript

我的 json 对象来自 ajax resaponse.It 看起来像这样。

{    
  "customerID": "87545",    
  "parentCustomerID": "Parent:87545",   
  "relationshipID": "87545-- Rel 1234",    
  "customerName": "87545-- John Snow",    
  "constitution": "87545-- consti" 
}

现在我想使用 DOJO 1.10 库或普通的 for 循环遍历这个 javascript.But 我无法完成循环。我已经尝试过

的方法
require(["dojo/_base/array"], 
function(array){
    array.forEach(JSON.stringify(ajaxJsonData), function(entry, i){ });       
});

有人能帮帮我吗?

注意:这个 json 对象每次都是动态出现的,键与我的 jsp 页面中输入类型的 ID 相同。所以我需要获取密钥和值。

尝试使用 javascript

for(var key in  yourObj) {
    var value = yourObj[key];
    console.log(value);
}

您可以在 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[key].

将其与 obj 中的相应值一起打印

您可以通过在浏览器的控制台中复制以上代码来检查结果。

这是一个js fiddle link:

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])
}

以下是对象而不是数组。要遍历对象,您可以使用 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]);
}

遇到这个问题并想指出您最终可能会迭代您不想要的东西。考虑在循环中添加一个检查:

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]);
}