2

{"location":{"lat": 50.4, "lng": 30.5}} サーバーで送信する必要があります

私はこれをします

List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(1);
List<NameValuePair> gps = new ArrayList<NameValuePair>(2);
            gps.add(new BasicNameValuePair("lat", Util
                    .getLatitude()));
            gps.add(new BasicNameValuePair("lng", Util
                    .getLatitude()));

            nameValuePairs.add(new BasicNameValuePair("location",gps.toString()));

{"location":{"lat": "50.4", "lng": "30.5"}}

文字列ではなくフロートのタイプを送信する必要があります

4

2 に答える 2

1

json Obejctをサーバーに送信する場合は、を使用しJSONObjectてjsonobejctの値を渡すのではなく、最初にを使用して作成しますNameValuePair。現在のJSONObjectを次のように作成します。

// main jsonObject
JSONObject json = new JSONObject();
// location JSONObject
JSONObject jsonlocation = new JSONObject();

// put key-value in  jsonlocation JSONObject
jsonlocation.put("lat", Util.getLatitude());  //<< put lat
jsonlocation.put("lng", Util.getLatitude());  //<< put lng

// put jsonlocation in main json JSONObject

json.put("location",jsonlocation);

json次に、オブジェクトをサーバーに送信します。

JSONObjectをサーバーに送信する方法については、を参照してください。

AndroidでRequestを介してJSONオブジェクトを送信するにはどうすればよいですか?

于 2013-02-19T08:50:09.147 に答える
0

JSONをサーバーに送信したいと思いますか?コードgps.toString()は、JSONではなくリストの文字列値を作成します。リストを有効なJSONに解析するには、JSONライブラリ(GSONなど)を使用する必要があります。

GSONを使用すると、次のようにリストをJSONに解析できます。

Gson gson = new Gson();
String json = gson.toJson(list);
于 2013-02-19T08:50:01.153 に答える