將字串轉換為JSON 陣列的問題
在嘗試將Web 服務中的JSON 字串解析為JSON 陣列時,Android開發人員遇到類型不符異常。提供的 JSON 字串有效,並且使用了以下程式碼:
JSONArray jsonArray = new JSONArray(readlocationFeed);
解決方案
問題在於所建立的 JSON 物件的類型。接收到的JSON其實是一個JSON對象,而不是一個陣列。要解決此問題,應如下修改程式碼:
JSONObject jsonObject = new JSONObject(readlocationFeed); JSONArray jsonArray = jsonObject.getJSONArray("locations");
這將從 JSON 字串建立 JSONObject,然後從中擷取「locations」陣列。然後可以迭代該數組以存取各個位置物件。這是修改後的程式碼:
JSONObject jsonObject = new JSONObject(readlocationFeed); JSONArray jsonArray = jsonObject.getJSONArray("locations"); for (int i = 0; i < jsonArray.length(); i++) { JSONObject locationObject = jsonArray.getJSONObject(i); }
以上是為什麼我的字串到 JSONArray 轉換在 Android 中失敗,如何修復?的詳細內容。更多資訊請關注PHP中文網其他相關文章!