0

RESTful Web サービスを呼び出して JSON オブジェクトを取得しようとしています。ここで、HttpGet を介して呼び出しを試みたところ、成功しました。渡す必要がある URL は次のようなものでした: http://example.com/ /def.xxx?Name=save&Code=sample&OrderDetails=[{“Count”: “2”, “ID”: “1”, “価格」:「5」}]。私

`

StringBuilder URL = new StringBuilder("http://example.com/def.xxx?");
URL.append("Name="+name+"&");
URL.append("Code="+code+"&");
URL.append("Details=%5b");
            int val = 0;
            for (int i = 0; i<len; i++){
                    if (val > 0)
                    {URL.append(",");
                    }
                    else
                        val = 1;                
            URL.append(.....);
URLX = URL.toString();
httpGet = new HttpGet(URLX); 
response = client1.execute(httpGet);

`

では、HttpGet 呼び出しの代わりに HttpPost 呼び出しを行いたい場合はどうすればよいでしょうか? このようにしてみましたが、

String URL = "http://example.com/def.xxx";

    DefaultHttpClient client1 = new DefaultHttpClient();
    HttpResponse response = null;
    HttpPost httpPost = new HttpPost();
    ArrayList<NameValue> postParameters;

    postParameters = new ArrayList<NameValuePair>();
        postParameters.add(new BasicNameValuePair("Name", name));
        postParameters.add(new BasicNameValuePair("Code", code));

try {
            httpPost.setEntity(new UrlEncodedFormEntity(postParameters));
            } catch (UnsupportedEncodingException e1) {
                // TODO Auto-generated catch block
                e1.printStackTrace();
            }


                response = client1.execute(httpPost);

Post 呼び出しで Details=[{“Count”: “2”, “ID”: “1”, “Price”: “5”}] に値のペアを追加する方法がわかりません。これを実行して、HttpGet 呼び出しを行っているときに取得しているものと同じ JSON オブジェクトを取得します。助けてください。

4

1 に答える 1