首頁 >Java >java教程 >如何從 Java 中的巢狀 JSONArray 中提取'id”和'loc”值?

如何從 Java 中的巢狀 JSONArray 中提取'id”和'loc”值?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-11-27 05:13:11277瀏覽

How to Extract

從Java 中的巢狀JSONArray 存取「id」和「loc」值

在Java 中解析JSON 資料時,經常會遇到巢狀結構,例如JSONObject 中的JSONArray。對於初學者來說,存取這些嵌套結構中的特定值可能有點棘手。

問題:

考慮以下 JSON 資料:

{
  "locations": {
    "record": [
      {
        "id": 8817,
        "loc": "NEW YORK CITY"
      },
      {
        "id": 2873,
        "loc": "UNITED STATES"
      },
      {
        "id": 1501,
        "loc": "NEW YORK STATE"
      }
    ]
  }
}

目標是迭代「記錄」JSONArray並存取每個記錄的「id」和「loc」值

解決方案:

要存取JSONArray 中項目的成員,可以使用getJSONObject(int) 方法。以下程式碼示範如何實現此目的:

JSONObject req = new JSONObject(join(loadStrings(data.json),""));
JSONObject locs = req.getJSONObject("locations");
JSONArray recs = locs.getJSONArray("record");

for (int i = 0; i < recs.length(); ++i) {
    JSONObject rec = recs.getJSONObject(i);
    int id = rec.getInt("id");
    String loc = rec.getString("loc");
    // ...
}

在 for 迴圈內:

  • recs.length() 提供「記錄」JSONArray 中的元素數量。
  • recs.getJSONObject(i) 傳回代表第 i 個的 JSONObject記錄。
  • rec.getInt("id") 擷取「id」鍵的整數值。
  • rec.getString("loc") 擷取「loc」的字串值key。

這些檢索到的值可以用於進一步的處理或操作。

以上是如何從 Java 中的巢狀 JSONArray 中提取'id”和'loc”值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn