如何使用 getJSONArray 方法访问 json 对象的嵌套元素

2022-08-31 15:09:10

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

{
  "result": {
    "map": {
      "entry": [
        {
          "key": { "@xsi.type": "xs:string", "$": "ContentA" },
          "value": "fsdf"
        },
        {
          "key": { "@xsi.type": "xs:string", "$": "ContentB" },
          "value": "dfdf"
        }
      ]
    }
  }
}

我想访问数组对象的值。我正在尝试访问:"entry"

RESPONSE_JSON_OBJECT.getJSONArray("entry");

我得到.有人可以帮我从上面的JSON响应中获取JSON数组吗?JSONException


答案 1

您必须分解整个对象才能到达数组。entry

假设已经是解析的 。REPONSE_JSON_OBJECTJSONObject

REPONSE_JSON_OBJECT.getJSONObject("result")
    .getJSONObject("map")
    .getJSONArray("entry");

答案 2

使用Gson库尝试此代码并完成工作。

Gson gson = new GsonBuilder().create();

JsonObject job = gson.fromJson(JsonString, JsonObject.class);
JsonElement entry=job.getAsJsonObject("results").getAsJsonObject("map").getAsJsonArray("entry");

String str = entry.toString();

System.out.println(str);