在JS中从JSON返回索引名称

时间:2012-10-20 20:35:20

标签: javascript jquery json

想象一下,我们有这个JSON:

{ "A" : {"A1": "1" } }

如何提取实际索引A1? 所以我可以在JS中使用它:

var index = "A1";

1 个答案:

答案 0 :(得分:4)

编辑 - 如果您的意思是“如何在索引A1处提取”,那么您只需使用点或括号运算符:

var value = object.A.A1;

var index = "A1";
var value = object.A[index];

见下文。


您可以使用for ... in循环遍历对象的属性名称:

for (var propertyName in object) {
  // ...
}

循环还将包含原型链中的属性,因此您可以使用名为hasOwnProperty的函数来避免(如果需要):

for (var name in object) {
  if (object.hasOwnProperty(name)) {
    // really is a local property
  }
}

较新的浏览器支持将属性名称作为数组获取的方法:

var names = Object.keys( yourObject );

该列表仅包含“自己的”属性;也就是说hasOwnProperty()将返回true的那些。

最后,有一些方法可以定义属性,使它们不是“可枚举的”。通常在完成后,您通常 想要在for ... in中看到它们。