我的同事编写了一个函数,用于从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");
}
}
});
答案 0 :(得分:2)
您可以使用它类似于访问数组元素的方式。
var value = obj[idx]
;
您可以使用obj.prop
或obj["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");
}
})