Object获取属性中的Javascript对象

时间:2015-05-19 06:48:35

标签: javascript json object

一直在寻找一个小时或者o找不到我要找的东西。任何帮助表示赞赏。

我有一个来自ajax调用的JSON对象,其中包含一些带有数字键的其他对象。

例如

{"1" : { "Name" : "George", "DOB" : "11/1/88", "NickName" : "Porky" },
"2" : { "Name" : "Pete", "DOB" : "6/6/85", "NickName" : "Bozo" }}

我现在想要独立访问这些对象中的属性。例如:

for(var key in obj) {
    alert(obj. something here .Name);
}

但我不能为我的生活找到合适的语法。我试过......

obj.1.Name(我看过这个,每个对象的键是一个字符串而不是一个数字)

和...

obj[1].Name

有人可以把我从痛苦中解救出来吗?我怎么说,创建一个[Name1, Name2, etc...]的数组?

1 个答案:

答案 0 :(得分:2)

您正在寻找括号表示法:

for (var key in obj) {
    alert(obj[key].Name);
}

在JavaScript中,您可以使用点表示法和文字属性名称(obj.foo)或括号表示法和字符串 *来访问对象属性属性名称(obj["foo"])。在括号表示法中,字符串可以来自任何表达式,包括变量查找。

直播示例:



var obj = {
  "1": {
    "Name": "George",
    "DOB": "11/1/88",
    "NickName": "Porky"
  },
  "2": {
    "Name": "Pete",
    "DOB": "6/6/85",
    "NickName": "Bozo"
  }
};
for (var key in obj) {
  snippet.log(obj[key].Name);
}

<!-- Script provides the `snippet` object, see http://meta.stackexchange.com/a/242144/134069 -->
<script src="http://tjcrowder.github.io/simple-snippets-console/snippet.js"></script>
&#13;
&#13;
&#13;

*在ES6括号中,表示法也支持Symbol属性名称。