我想发送用户名和密码等参数。
我收到类似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);
}
答案 0 :(得分:0)
看起来您的回复实际上是一个字符串,而不是一个json对象,即{"object":"value"}
,而是"object:value"
。您需要通过Stetho,Fiddler嗅探您的回复,或通过Postman(或Fiddler)重新发布您的请求
======================
这并不能解答您的问题,但这将极大地帮助您,让您的生活更轻松。
强烈建议使用Gson和Retrofit进行HTTP请求并轻松解析Gson对象。
答案 1 :(得分:0)
创建JSONObject并在其中放置值的方式没有任何问题。确保收到的响应是Json,因为onResponse方法接受JSONObject。您可能正在接收String值作为响应,无法将其转换为JSONObject。