使用DOJO或javascript迭代JSON对象

时间:2015-07-14 06:50:22

标签: javascript json dojo

我的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相同。所以我需要获得关键和价值。

5 个答案:

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