我在Android应用中的第3行收到JSON.typeMisMatch错误。我不明白为什么,因为我能够在其他程序中访问此数组。
1 JSONObject jsonObj = new JSONObject(result);
2 Log.d("jsonObj=", String.valueOf(jsonObj));
3 JSONArray jsonArray = jsonObj.getJSONArray("obit"); // This is the error line
4 JSONObject jsonObit = jsonArray.getJSONObject(0);
obituary = jsonObit.getString(("Obit"));
以下是第2行的控制台显示:
D/jsonObj=﹕ {"obit":{"Obit":"John R. Uphoff, 94, of Heritage Manor of Minonk, died at 1:18 a.m. Thursday ...
这是我得到的错误:
org.json.JSONException: Value {"Obit":"John R. Uphoff, 94, of Heritage Manor of Minonk, died
我在其他程序中访问过这个json字符串,但在这种情况下会出错。有谁知道为什么会出现这种错误?
答案 0 :(得分:1)
那是另一个JSONObject,
JSONArray jsonArray = jsonObj.getJSONArray("obit");
替换为,
JSONObject jsonOuterObit = jsonObj.getJSONObject("obit");
然后得到一个字符串,
obituary = jsonOuterObit.getString(("Obit"));