3

jsonオブジェクトを自分のWebサイトに送信するために、このAndroidコードを試しました

HttpPost httppost = new HttpPost(url);

JSONObject j = new JSONObject();
    j.put("name","name ");

        List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
        String format = s.format(new Date()); 
    nameValuePairs.add(new BasicNameValuePair("msg",j.toString() ));

       httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
                               httpclient.execute(httppost);

そして、このphpコード

<?php

$msg=$_POST["msg"]; 

$filename="androidmessages.html";

file_put_contents($filename,$msg."<br />",FILE_APPEND);

$androidmessages=file_get_contents($filename);

echo $androidmessages;
?>

{"name":"name "} が表示されますが、使用すると

httppost.setHeader( "Content-Type", "application/json" );

何も表示されません.jsonオブジェクトの投稿について経験はありませんが、何か問題があったと思います.Webサイトにユーザー情報を送信してWebページに表示したいのですが、これを克服するために何を変更する必要があるか教えてください.問題ありがと

4

2 に答える 2

1

データを PHP スクリプトに渡す方法によって異なります。

JSON を 1 つの変数 (およびその他の変数) の文字列として取得する場合は、コンテンツ タイプ "application/json" を使用しないでください。変数なしで JSON のみを投稿する場合は、代わりに次のようにします。

HttpPost httppost = new HttpPost(url);
JSONObject j = new JSONObject();
j.put("name","name ");
httppost.setEntity(new StringEntity(j.toString());
httpclient.execute(httppost);

コードから想像できるように、JSON は 1 つの POST-var だけではなく、全体として存在します。

于 2013-07-27T22:46:51.310 に答える