data={ "request": { "type": "event_and_offer","devicetype": "A" },"requestinfo": { "value": "offer" } }
如何从volley plz帮助发布此请求
JsonObjectRequest jsonObjReq = new JsonObjectRequest( Request.Method.POST,url,null,new Response.Listener<JSONObject>() { @Override public void onResponse(JSONObject response) { Log.d(TAG,response.toString()); msgResponse.setText(response.toString()); hideProgressDialog(); } },new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { VolleyLog.d(TAG,"Error: " + error.getMessage()); hideProgressDialog(); } }) { /** * Passing some request headers * */ @Override public Map<String,String> getHeaders() throws AuthFailureError { HashMap<String,String> headers = new HashMap<String,String>(); headers.put("Content-Type","application/x-www-form-urlencoded"); return headers; }
js是我的jsson对象……我让我的jsson像这样……
JSONObject jsonobject_one = new JSONObject(); try { jsonobject_one.put("type","event_and_offer"); jsonobject_one.put("devicetype","I"); JSONObject jsonobject_TWO = new JSONObject(); jsonobject_TWO.put("value","event"); jsonobject = new JSONObject(); jsonobject.put("requestinfo",jsonobject_TWO); jsonobject.put("request",jsonobject_one); js = new JSONObject(); js.put("data",jsonobject.toString()); Log.e("created jsson","" + js);
但它没有回应plzz帮助的价值
解决方法
首先你的json数据:
JSONObject js = new JSONObject(); try { JSONObject jsonobject_one = new JSONObject(); jsonobject_one.put("type","event_and_offer"); jsonobject_one.put("devicetype","I"); JSONObject jsonobject_TWO = new JSONObject(); jsonobject_TWO.put("value","event"); JSONObject jsonobject = new JSONObject(); jsonobject.put("requestinfo",jsonobject_TWO); jsonobject.put("request",jsonobject_one); js.put("data",jsonobject.toString()); }catch (JSONException e) { e.printStackTrace(); }
然后你的json请求:
JsonObjectRequest jsonObjReq = new JsonObjectRequest( Request.Method.POST,js,new Response.Listener<JSONObject>() { @Override public void onResponse(JSONObject response) { Log.d(TAG,response.toString()); msgResponse.setText(response.toString()); hideProgressDialog(); } },new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { VolleyLog.d(TAG,"Error: " + error.getMessage()); hideProgressDialog(); } }) { /** * Passing some request headers * */ @Override public Map<String,String> getHeaders() throws AuthFailureError { HashMap<String,String>(); headers.put("Content-Type","application/json; charset=utf-8"); return headers; }
注意标题
如果你想在localhost中测试使用下面的代码并设置你的url连接你的localhost服务器和IP地址:
下面的代码将您的所有请求放在一个文本文件中,我尝试了它,它的工作原理
<?PHP file_put_contents('test.txt',file_get_contents('PHP://input')); ?>