0

我有一个我想发布到服务器的 JSONObject。

这是代码:

JSONObject obj = new JSONObject();
for(int k = 0; k<len;k++){
    obj.put("nachrichten_ids", params[k]);
}
HttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost("xxxxx");
HttpEntity entity;
StringEntity s = new StringEntity(obj.toString());
s.setContentEncoding(new BasicHeader(HTTP.CONTENT_TYPE, "application/json"));
entity = s;
httpPost.setEntity(entity);
HttpResponse response;
response = httpClient.execute(httpPost);

通过执行 Log.i("TEST",obj) 我得到 JSON 对象:

{"nachrichten_ids":"[2144,2138]"}

该数据被发送到服务器。但我无法访问它: 没有 $_POST 索引。 (PHP)

如何设置索引,以便我可以访问 json 对象,例如 $_POST['nachrichten_ids']。然后我必须使用该数据,例如使用 php json_decode()

任何的想法 ?

谢谢

4

1 回答 1

0

尝试将您的 JSON 对象放入名称值对中。您添加的对的名称是您在网络上阅读时应使用的名称。例如这里我将通过调用 $_POST['Password'] 来获取密码。

    List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();

    nameValuePairs.add(new BasicNameValuePair("Password", "My password"));
    nameValuePairs.add(new BasicNameValuePair("Mail", "My mail"));

    httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));

    // Execute HTTP Post Request
    BasicHttpResponse response = (BasicHttpResponse) httpclient.execute(httppost);
    HttpEntity entity = response.getEntity();
于 2013-01-19T13:08:29.450 回答