Android/Java 中的 JSON 陣列迭代
從 Android 應用程式存取 JSON 物件需要解碼 JSON 陣列。要迭代數組並提取所需的數據,可以考慮多種方法。
循環JSONArray
一個簡單的方法是使用for 循環JSONArray循環:
int id; String name; JSONArray array = new JSONArray(jsonString); for (int i = 0; i < array.length(); i++) { JSONObject row = array.getJSONObject(i); id = row.getInt("id"); name = row.getString("name"); }
使用Library
使用Library或者,利用Gson
或Gson gson = new Gson(); Type type = new TypeToken<List<JsonObject>>() {}.getType(); List<JsonObject> rows = gson.fromJson(jsonString, type);
等第三方函式庫可以簡化 JSON 解析過程。例如,使用 Gson:
Iterable Approach
JSONArray array = new JSONArray(jsonString); JSONPointer pointer = new JSONPointer("/0"); int id = (int) pointer.getValue(array); String name = (String) pointer.getValue(array, "/1");
另一個選項是使用 JSONPointer 類別將 JSONArray 轉換為可迭代物件:
遺產解決方案問題中提到的程式碼片段需要從 JSONArray 到可迭代數組的隱式轉換。不幸的是,這種方法可能會遇到相容性問題,不建議。
最佳化對於大型資料集,請考慮使用非同步任務或後台執行緒以避免阻塞主 UI。此外,快取解析的資料可以提高效能。以上是如何在 Android/Java 中高效地迭代 JSON 陣列?的詳細內容。更多資訊請關注PHP中文網其他相關文章!