Java - 检索嵌套的JSON数组键值

时间:2016-01-12 04:06:49

标签: java arrays json

我有一个JSON响应,如下所示:

USER:[{
   "id":"145454",
   "name":"JJones",
   "patientInfo":"[{"id":"12334", "doctor":"Smith"}]",
   "insurance":true,
   "caregiverName":"Jones"
}]

我正在尝试创建一个java方法,以便我可以访问嵌套JSONArray的键值对。例如,我不希望整个JSON数组只想从patientInfo JSON数组中检索 doctor 名称。任何想法我将如何在Java中这样做我完全被困在这里。

这是sudo代码,但我想它会是这样的:

String doctorInfo() {
    JSONObject obj = new JSONObject(user)
    JSONArray arr = obj.getJSONArray("patientInfo")

    String doctor = arr.getValue("doctor")
}

我希望能够通过

在前端访问它
doctorInfo().doctor

非常感谢代码示例。

1 个答案:

答案 0 :(得分:1)

代码将是这样的:

String doctorInfo(String jsonString) {
    JSONObject obj = new JSONObject(jsonString)
    JSONArray arr = obj.getJSONArray("patientInfo")
    JSONObject patientJSONObject = arr.getJSONObject(0);
    String doctor = patientJSONObject.getString("doctor");
    return doctor;
}

上面的代码示例假设您将以下字符串作为参数传递。

  

{" id":" 145454"," name":" JJones",
  " patientInfo":" [{" id":" 12334"," doctor":" Smith" }]&#34 ;,
  "保险":true," caregiverName":" Jones" }