0

サーバーに POST したい 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)

$_POST['nachrichten_ids'] のように、json オブジェクトにアクセスできるようにインデックスを設定する方法。そのデータを処理する必要がありました。たとえば、php json_decode() を使用します。

何か案が ?

ありがとう

4

1 に答える 1

0

JSON オブジェクトを名前と値のペアに入れてみてください。追加するペアの名前は、Web 上で読むときに使用する名前です。たとえば、ここでは $_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 に答える