解析do JSON时出错将String JSON转换为Array


Error in parsing do JSON To convert String JSON to Array

AndroidStudio 中的Logcat错误

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":"guilherme@sum.net.br"},{"usr_senha":"30d16fa15cfddaefeca505b6876cf9c0","usr_login":"Telemarketing","usr_codigo":"27","usr_nome":"Telemarketing","usr_email":"comercial@sum.net.br"}]} 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);
            }

我找不到错误,谢谢你的帮助。

问题是数组周围有一个对象包装器。

更换

JSONArray usuariosJson = new JSONArray(jsonString);

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