通用JSON元素访问

时间:2017-03-09 05:03:40

标签: javascript json

我的同事编写了一个函数,用于从JSON对象中获取所有密钥,并根据我们感兴趣的对象进行检查。我无法正确搜索Google的方法是如何获取变量持有密钥名称并使用它来获取值。显然,idx本身不是对象的成员,但它包含成员名称。如何使用idx访问obj?

$.each(JSON.parse(data[0][i]), function(idx, obj){
            for(var j = 0; j < searchKeys.length; j++){
                if (idx == searchKeys[j]) {
                    //How do I do this correctly?
                    injectLoc.innerHTML += panelMaker(obj.idx, idx, "green", "gears");
                }
            }
});

3 个答案:

答案 0 :(得分:2)

您可以使用它类似于访问数组元素的方式。

var value = obj[idx];

您可以使用obj.propobj["prop"]obj[idx] idx === "prop"等JavaScript来访问对象的属性。

答案 1 :(得分:1)

在JSON中,

Accessing elements by index --> obj[idx]
Accessing values by keys --> obj.key or obj["key"]
Note: If key has spaces use only --> obj["key"]

答案 2 :(得分:1)

您可以使用Object.keys()来迭代对象的键。所以这个功能可能会像这样工作:

Object.keys(obj).forEach((key, index) => {
  if(index === key){
    injectLoc.innerHTML += panelMaker(obj[key], index, "green", "gears");
  }
})