2012-11-19 130 views
0

我正在使用Jackson庫來解析本地json文件。 當解析按鈕按下我有錯誤:無法反序列化ArrayList

W/System.err(7569): org.codehaus.jackson.map.JsonMappingException: Can not deserialize instance of java.util.ArrayList out of VALUE_NUMBER_INT token 

JSON文件是:

{"surveys":[{"id_survey":"1","question_survey":"Are you happy with the actual government?","answer_yes":"50","answer_no":"20"}],"success":1} 

,使檢索的方法是:

final void gettingJson() { 
    final Thread checkUpdate = new Thread() { 
     public void run() { 
     usersController.init(); 
     final StringBuilder str = new StringBuilder("user : "); 
     for (User u : usersController.findAll()) { 
      str.append("\n").append("ID : ").append(u.getId_survey()); 
      str.append("\n").append("Question : ").append(u.getQuestion_survey()); 
      str.append("\n").append("Yes : ").append(u.getAnswer_yes()); 
      str.append("\n").append("No : ").append(u.getAnswer_no()); 

     } 
     runOnUiThread(new Runnable() { 
       public void run() { 
        displayJson.setText(str.toString()); 
       } 
      }); 

     } 
    }; 
    checkUpdate.start(); 
    } 

有什麼補充在代碼中?難道我做錯了什麼? 謝謝你的幫助。

+0

如果沒有匹配類定義,您的問題將不會被回答:所有可以說的是,所討論的類期望一個'List',但JSON包含一個數字。 – StaxMan

回答

1

問題解決了,這是由於json文件中的那個字符串"success":1。所以我刪除它,現在一切都很好。

+0

是的,這是由無效的JSON引起的。我通常使用一個快速的PHP腳本來生成我的JSON,所以我知道它是有效的。 – Webnet