-2

我有以下 JSON 响应

 '{ "person_list":
 [

  {
"id": "4",
"demographics": {
  "address": {
    "city": "Tokyo",
    "country": "Japan",
    "county_or_parish": "some county",
    "postal_code": "98765",
    "state_or_province": "some state",
    "street_addresses": [
      "123 Some Street"
    ]
  },
  "date_of_birth": "1964-01-30T00:00:00.000Z",
  "date_of_death": "2013-01-30T00:00:00.000Z",
  "deceased": true,
  "emails": [],
  "gender": "Male",
  "full_name": "Yagami Light M",
  "given_names": [
    "Light",
    "Maes"
  ],
  "family_names": [
    "Yagami",
    "Hughes"
  ],
  "prefix": "Dr.",
  "suffix": "Jr.",
  "telecoms": [],
  "mrn_aliases": [],
  "payer_info": [],
  "person_benefit_coverages": []
},
"mara_risk_scores": [
  {
    "score": 10.0,
    "model": "CXCONLAG0"
  },
  {
    "score": 20.0,
    "model": "CXCONLAG1"
  },
  {
    "score": 30.0,
    "model": "CXCONLAG2"
  }
    ],
   "dashboard": {},
   "has_flagged_manual_data": true,
   "record_ids": []
 },
  {
  "id": "3",
  "demographics": {
  "emails": [],
  "given_names": [],
  "family_names": [],
  "telecoms": [],
  "mrn_aliases": [],
  "payer_info": [],
  "person_benefit_coverages": []
  },
  "mara_risk_scores": [],
   "dashboard": {},
   "has_flagged_manual_data": false,
  "record_ids": []
    }
   ]
  }'

现在我想获得等于我从另一个对象检索到的 empi_id 的 id 的人口统计数据。

我试过这个.. JsonPath.read(jsonObject,"$.person_list[].demographics", filter(where("id").eq(cs.getEmpiId())))

它似乎不起作用..你能帮我吗?

4

1 回答 1

1

这个 JSONPath 表达式应该可以帮助您获得所需的内容:

$.person_list[?(@.id=='4')].demographics

将 4 替换为您感兴趣的人的 id,它应该可以解决问题。

于 2014-06-17T16:15:41.520 回答