2017-08-11 93 views
-1

我目前在轉換下列類型的JSON數據時遇到了問題。我試圖顯示書名,並在Android中顯示章節及其內容。但是,我收到JSON.typeMismatch錯誤。我認爲代碼不正確,但找不到問題。我在下面添加了我的示例代碼。無法解決org.json.JSON.typeMismatch在android中

一些樣本或提示將會有所幫助。我很想聽到你的消息!

(
    { 
    "abbrev" : "abbrev" 
    "book" : "name" 
    "chapters": 
     (
      {"1": {"1": "...", "2": "..."}}, {"2": {"1": "...", "2": "..."}}, 
      {"2": {"1": "...", "2": "..."}}, {"2": {"1": "...", "2": "..."}}, 
      {"3": {"1": "...", "2": "..."}}, {"2": {"1": "...", "2": "..."}} 
     ) 
    } 
) 

這是我試過的一些代碼。我想要做的就是獲取字符串數據。

mCreateJson = new CreateJsonData(this, "sample.json"); 
    JSONObject jsonObj = mCreateJson.getJsonObject(); ⇦ // Contains above json objects 
    JSONArray jsonArray; 
    try { 
     for (int i = 0; i < jsonObj.length(); i++) { 
      jsonArray = jsonObj.getJSONArray("chapters"); 
      android.util.Log.d("Test", jsonArray.toString()); 
      for(int a = 0; a < jsonArray.length(); a++) { 

      } 
     } 
    } catch (JSONException e) { 
     e.printStackTrace(); 
    } 
+2

JSON陣列由[]不是由()表示。你粘貼的json對象是正確的嗎?使用https://jsonformatter.curiousconcept.com/來格式化您的json – Swati

+0

使用{}的地方(),{}表示JSONObject –

回答

3

這裏是您的JSON

{ 
"abbrev" : "abbrev" 
"book" : "name" 
"chapters": 
    [ 
     {"1": {"1": "...", "2": "..."}}, {"2": {"1": "...", "2": "..."}}, 
     {"2": {"1": "...", "2": "..."}}, {"2": {"1": "...", "2": "..."}}, 
     {"3": {"1": "...", "2": "..."}}, {"2": {"1": "...", "2": "..."}} 
    ] 
} 

和解析

mCreateJson = new CreateJsonData(this, "sample.json"); 
JSONObject jsonObj = mCreateJson.getJsonObject(); ⇦ // Contains above json objects 
JSONArray jsonArray; 
try { 
    for (int i = 0; i < jsonObj.length(); i++) { 
     jsonArray = jsonObj.getJSONArray("chapters"); 
     android.util.Log.d("Test", jsonArray.toString()); 
     for(int a = 0; a < jsonArray.length(); a++) { 
JSONObject js = jsonArray.getJsonObject(a); 
String ss1=js.getString("1"); 
//and so on as your json 
     } 
    } 
} catch (JSONException e) { 
    e.printStackTrace(); 
} 
0

您的Json數據格式爲worng。它應該是這樣的

{ 
    "abbrev" : "abbrev", 
    "book" : "name", 
    "chapters": 
     [ 
      {"1": {"1": "...", "2": "..."}}, {"2": {"1": "...", "2": "..."}}, 
      {"2": {"1": "...", "2": "..."}}, {"2": {"1": "...", "2": "..."}}, 
      {"3": {"1": "...", "2": "..."}}, {"2": {"1": "...", "2": "..."}} 
     ] 
    } 

後,您可以使用http://www.jsonschema2pojo.org/你的JSON數據解析成模型類,你可以使用GSON庫來分析數據。