1

我有一个 JSON 对象,我正在尝试解析并获取数据。它开始于:

"id": "5019b4b40cd8a056446b8eb4",
"checkItemStates": [
  {
    "idCheckItem": "xxxxxxxx",
    "state": "complete"
  }, {
    "idCheckItem": "xxxxxxxx",
    "state": "complete"
  }
],

..........等大约 20 多行。

现在我想要的是:

"member": {
  "id": "XXXXXXXXXXXXXXXc",
  "avatarHash": "XXXXXXXXXXXXXXXXXXXXXXXXX",
  "fullName": 
}

我想获得那个全名,但可能有不止一个成员,可能有 20 个成员,或者只有 2 个。我不知道从一个对象到另一个对象,可能有 100 个对象。

我如何能

  1. 基本上在一组 JSON 对象上拉一个 foreach
  2. 从每个可能有多个成员的对象中提取 member.fullName?
4

1 回答 1

5

首先,您将您的 JSON 字符串(没有 JSON 对象之类的东西)传递给JSON.parse(),它会为您提供一个 javascript 对象。

然后您通过点符号或括号符号访问该 javascript 对象的属性。

例子:

// white space added for readability - not legal syntax (see fiddle)
var jsonString = "{\"member\": {
    \"id\": \"XXXXXXXXXXXXXXXc\",
    \"avatarHash\": \"XXXXXXXXXXXXXXXXXXXXXXXXX\",
    \"fullName\": \"Bob Dole\"}
}";

var parsed = JSON.parse(jsonString);

// dot notation
alert(parsed.member.fullName); // Bob Dole

// bracket notation
alert(parsed['member']['fullName']); // Bob Dole

http://jsfiddle.net/ga5Fq/

于 2012-09-25T19:13:01.337 回答