Android Json解析字符串无法转换为json对象错误

时间:2017-10-05 16:15:31

标签: android json android-volley

我想发送用户名和密码等参数。

我收到类似String的错误,无法转换为jsonobject。

我不知道发生了什么事。任何人都会帮助我,我的代码是:

        JSONObject obj=new JSONObject();
            try{
            obj.put("username","test");
                obj.put("password","test");
            } catch (JSONException e) {
            }

        JsonObjectRequest jsonObjReq = new JsonObjectRequest(Request.Method.POST,
                urlJsonObj, obj, new Response.Listener<JSONObject>() {

            @Override
            public void onResponse(JSONObject response) {
                try {
                } catch (JSONException e) {
                }
            }
        }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {
            }

        });
        // Adding request to request queue
      AppController.getInstance().addToRequestQueue(jsonObjReq,json_obj_req);
    }

2 个答案:

答案 0 :(得分:0)

看起来您的回复实际上是一个字符串,而不是一个json对象,即{"object":"value"},而是"object:value"。您需要通过Stetho,Fiddler嗅探您的回复,或通过Postman(或Fiddler)重新发布您的请求

======================

这并不能解答您的问题,但这将极大地帮助您,让您的生活更轻松。

强烈建议使用Gson和Retrofit进行HTTP请求并轻松解析Gson对象。

https://github.com/google/gson

http://square.github.io/retrofit/

答案 1 :(得分:0)

创建JSONObject并在其中放置值的方式没有任何问题。确保收到的响应是Json,因为onResponse方法接受JSONObject。您可能正在接收String值作为响应,无法将其转换为JSONObject。