2015-06-30 63 views
1

logcat的誤差在AndroidStudio錯誤解析做JSON至字符串JSON轉換爲陣列

06-30 17:06:58.054 27785-30012/br.net.sum.mobilecrm E/Erro﹕ Erro no parsing do JSON 
org.json.JSONException: Value {"success":1,"usuarios":[{"usr_senha":"33e234d4821bbbf4440a22bd81f7a814","usr_login":"Guilherme","usr_codigo":"21","usr_nome":"Guilherme","usr_email":"[email protected]"},{"usr_senha":"30d16fa15cfddaefeca505b6876cf9c0","usr_login":"Telemarketing","usr_codigo":"27","usr_nome":"Telemarketing","usr_email":"[email protected]"}]} of type org.json.JSONObject cannot be converted to JSONArray 
     at org.json.JSON.typeMismatch(JSON.java:111) 

線路錯誤:JSONArray usuariosJson =新JSONArray(jsonString);

private List<Usuario> getUsuarios(String jsonString) { 
     List<Usuario> usuarios = new ArrayList<Usuario>(); 
     try { 
      JSONArray usuariosJson = new JSONArray(jsonString); 

      for (int i = 0; i < usuariosJson.length(); i++) { 
       JSONObject usuario = new JSONObject(usuariosJson.getString(i)); 
       Log.i("USUARIO ENCONTRADO: ", 
         "nome=" + usuario.getString("usr_nome")); 

       Usuario objetoUsuario = new Usuario(); 
       objetoUsuario.setUsr_nome(usuario.getString("usr_nome")); 
       objetoUsuario.setUsr_login(usuario.getString("usr_login")); 
       usuarios.add(objetoUsuario); 
      } 

我找不到錯誤,謝謝你的幫助。

回答

0

問題是你有一個對象包裝你的數組。

更換

JSONArray usuariosJson = new JSONArray(jsonString); 

隨着

JSONObject usuariosWrapper = new JSONObject(jsonString); 
JSONArray usuariosJson = usuariosWrapper.getJSONArray("usuarios"); 
+0

大,僅此而已。謝謝。我明白我的錯誤。謝謝。 – GNULopes

+0

@GNULopes不客氣。請解決您的問題,將我的答案標記爲解決方案。 – omainegra