好吧,我在這裏掙扎。我從我的PHP服務器(稱爲「結果」)得到以下JSON格式化字符串(編輯我是缺少在最後一個大括號!):無法從Java中的JSON對象提取值
{「L1」:[{「用戶名」:」用戶1" , 「化身」: 「1」},{ 「用戶名」: 「用戶2」, 「化身」: 「2」},{ 「用戶名」: 「用戶3」, 「化身」: 「3」}],」 L2 「:[{」 用戶名 「:」 用戶4" , 「化身」: 「4」},{ 「用戶名」: 「用戶5」, 「化身」: 「5」}]}
我試圖從L1對象(?)中提取具有頭像編號的ArrayList。但是,我得到一個錯誤
org.json.JSONException:值 [{ 「用戶名」: 「用戶1」, 「阿凡達」: 「1」},{ 「用戶名」: 「用戶2」, 「阿凡達」 : 「2」},{ 「用戶名」: 「用戶3」, 「化身」: 「3」}] 在類型的L1 org.json.JSONArray不能轉換到的JSONObject
這是我的代碼:
try {
JSONObject jsonObject = new JSONObject(result);
JSONArray jsonArray = new JSONArray(jsonObject.getJSONObject("L1"));
ArrayList<Integer> arrList = new ArrayList<>();
if (jsonArray != null) {
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject json = jsonArray.getJSONObject(i);
arrList.add(json.getInt("Avatar"));
AvatarList = arrList;
}
}
String query_result = "SUCCESS";
if (query_result.equals("FAILURE")) {
} else {
setAvatars(AvatarList);
}
} catch (JSONException e) {
Log.e("log_tag", "Error converting result "+e.toString());
}
如果我使用
我得到同樣的錯誤。 有什麼建議嗎? 在此先感謝!
(編輯:我做了在原崗位犯錯了。在JSON字符串缺少大括號感謝那些誰抓住了這一點。)
如果您在jsonlint.com查看此JSON,你會看到它的格式不正確 –
還玩弄http://jsonpath.com/ –
您的JSON是無效的。在後臺正確格式化。粘貼json'jsoneditoronline.org'來驗證錯誤。 –