从JSON字符串,foreach,多个相同类型中获取数据

时间:2012-09-25 19:00:00

标签: javascript json parsing

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

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

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

现在我想要的是:

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

我想得到那个fullName但是可能有多个成员,可能有20个成员,或者只是2.我不知道从对象到对象,可能有100个对象。

我如何

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

1 个答案:

答案 0 :(得分:5)

首先,您将JSON字符串(there's no such thing as a JSON object)传递给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/