愚蠢的问题,迭代JSON

时间:2017-01-05 22:43:07

标签: javascript node.js

所以这是一个两部分的问题,因为我无法解决第一个问题,而且hacky的工作似乎也不起作用。

我有一个JSON对象,在该对象中是嵌套对象。我想操纵深层图层中的某些东西。

首先,我需要学习如何迭代对象中的键,但我看不到你是如何做到的。

假设我有一个包含对象的对象,我该如何迭代这些? 如果它是一个数组我会做

for (i = 0; i < arrayLength; i++)
   {console.log(array[i])}

但是,因为他们是单词,我不能只是i ++,所以我做了一个单词的数组,然后想要像上面那样做,但是

for (i = 0; i < arrayLength; i++)
   {console.log(jsonObject.array[i]}

,但这似乎不起作用,我只是返回未定义。

对解释不良的道歉。

3 个答案:

答案 0 :(得分:0)

有一种获取密钥的方法,然后你可以用这些方法进行迭代。

var keys =    Object.keys(obj);

for(i = 0 ; i < keys.length; i++){
   var result = obj[keys[i]];
   console.log(result);
}

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/keys

答案 1 :(得分:0)

你需要使用'for..in'循环,或者更好的是,Object.keys()可以很好地处理这个问题。

Object.keys() documentation here.

for (var i in myObject) { console.log[i] };

答案 2 :(得分:0)

使用for(key in obj){...}语法进行迭代。

如:

var t = document.getElementById('myTextField');
var obj = {name:'John',last:'Doe'};
var result = '';
for (key in obj) {
        result += key + '=' + obj[key] + ',';
}