2017-10-05 181 views
2

我想发送诸如用户名和密码之类的参数。Android Json解析字符串无法转换为json对象错误

我得到一个像String这样的错误,无法转换为jsonobject。

我不知道这是什么happening.Anyone请帮助我,我的代码是:

 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); 
    } 
+0

你在哪一行得到错误? –

回答

0

没有什么错,你正在创建的JSONObject并把值的方式。确保收到的响应是Json,因为您的onResponse方法接受JSONObject。您可能会收到String值作为响应,无法将其转换为JSONObject。

0

它看起来像你的回应实际上是一个字符串,而不是一个JSON对象即{"object":"value"}而是"object:value"。你需要通过任何Stetho,提琴手嗅出你的回应或重演通过邮差(或小提琴手)您的要求

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

这并不能回答你的问题,但这会帮助你极大地改善你的生活。

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

https://github.com/google/gson

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

+0

我用于volley for json解析是它的问题? – Nandhu

+0

Retrofit和Volley完成同样的事情,但有很多情况下,改造可以更好地满足您在易用性方面的需求,并且在很多情况下更快。 可能发生的情况是返回的字符串不是JSON对象 – ElliotM

+0

“强烈推荐使用”!!!由谁推荐? – Dawit