以下是我的代码段.我也试过Hashmap和Jsonobject.但得到这个错误.
错误:
org.Json.JsONException: Value at Data of type java.lang.String cannot be converted to JsONObject
格式
{ "typename": "MANUFACTURER","typeID": 22,"cityID": 308,"sortBy": "productname","sortOrder": "desc","filter":[ { "filterID":101,"typename":"CAT_ID","filterID":102,"typename":"CAT_ID" } ]}
对于Code Check pastIE
https://pastebin.com/u5qD8e2j
解决方法 如果您在调用API时遇到问题,那么这将对您有所帮助.RequestQueue queue = Volley.newRequestQueue(this);JsonObjectRequest jobReq = new JsonObjectRequest(Request.Method.POST,url,jObject,new Response.Listener<JsONObject>() { @OverrIDe public voID onResponse(JsONObject JsonObject) { } },new Response.ErrorListener() { @OverrIDe public voID onErrorResponse(VolleyError volleyError) { } });queue.add(jobReq);
其中jObject是您要发送到服务器的JsON数据.
JsONArray的实现类似.而不是JsonObjectRequest
使用JsonArrayRequest并发送jArray而不是jObject.
对于创建Json数组,只需做一点调整
JsONArray array=new JsONArray();for(int i=0;i<filter_items.size();i++){ JsONObject obj=new JsONObject(); try { obj.put("filterID",filter_items.get(i)); obj.put("typename","CAT_ID"); } catch (JsONException e) { e.printstacktrace(); } array.put(obj);}
最后添加Json数组如下
JsonParams.put("filter",array);
在您的情况下,您将Json数组转换为字符串
总结以上是内存溢出为你收集整理的android – 如何在volley中发送json数组作为post请求?全部内容,希望文章能够帮你解决android – 如何在volley中发送json数组作为post请求?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)