我有一个格式为的JSON数据
[{"product_id":"33","amount":"1"},{"product_id":"34","amount":"3"},{"product_id":"10","amount":"1"},{"username":"test"}]
现在我想在PHP Web系统中获取这些数据 . 我将这些数据从Android应用程序发送到PHP服务器 . 我使用下面的代码将其发送到Web服务器 .
public JSONObject sendAndGetJSONfromURL(String url,List<NameValuePair> params){
InputStream is = null;
String result = "";
JSONObject jArray = null;
//http post
try{
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost(url);
httppost.setHeader("Content-type", "application/json");
httppost.setHeader("Accept", "application/json");
httppost.setEntity(new UrlEncodedFormEntity(params));
HttpResponse response = httpclient.execute(httppost);
HttpEntity entity = response.getEntity();
is = entity.getContent();
.....
在发送之前我打印了
jArray.toString()
并得到输出为
[{"product_id":"33","amount":"1"},{"product_id":"34","amount":"3"},{"product_id":"10","amount":"1"},{"username":"test"}]
我想知道如何从PHP系统中获取这些值 . 任何人都可以帮助我吗?
在通过HTTPRequest发送之前,params变量值的输出如下所示
[cartdata=[{"product_id":"33","amount":"1"},{"product_id":"34","amount":"3"},{"product_id":"10","amount":"1"},{"username":"UWUDAMITH"}]]
4 回答
这可能不是最好的方法,因为我是Java / Android的新手,但它对我有用:)
这将向服务器发送一个帖子,其中$ _POST ['id'] = 1,然后$ _POST ['json'] =发送给你的json数据;
这是save.php . 我实际上把它保存到MySQL,所以你 .
使用
json_decode()
http://php.net/manual/en/function.json-decode.php
用法:
json_decode($json, true)
//将json解码为关联数组http://php.net/manual/en/function.json-decode.php这应该派上用场了 . 同时检查http://php.net/manual/en/function.json-encode.php是否与函数完全相反 .
当您以urlencoded格式发送数据时,这些值将出现在$ _POST PHP的数组中!从哪里可以使用json_decode()解码它们:
您需要做的唯一事情是在POST中将JSON字符串作为“json”变量发送,在请求正文中进行正确编码(URL编码) .