2

私はJavaを使用しています。HTTP POST呼び出しAPIを作成し、「JSON」値(パラメーター名なし)のみを本文で通知するにはどうすればよいですか?

たとえば、次のURLを呼び出します:https ://api.nimble.com/api/v1/contact?access_token = 12123486db0552de35ec6daa0cc836b0 (POST METHOD)そして本体にはこれだけがあります(パラメーター名なし):

{'fields':{'first name': [{'value': 'Jack','modifier': '',}],'last name': [{'value': 'Daniels','modifier': '',}],'phone': [{'modifier': 'work','value': '123123123',}, {'modifier':'work','value': '2222',}],},'type': 'person','tags': 'our customers\,best'}

これが正しければ、誰かが私に例を教えてくれませんか?

4

1 に答える 1

1

ネットワーク部分にこのライブラリを使用: http://hc.apache.org/

json 部分にこのライブラリを使用する: http://code.google.com/p/google-gson/

例 :

public String examplePost(DataObject data) {
        HttpClient httpClient = new DefaultHttpClient();

        try {
            HttpPost httppost = new HttpPost("your url");
            // serialization of data into json
            Gson gson = new GsonBuilder().serializeNulls().create();
            String json = gson.toJson(data);
            httppost.addHeader("content-type", "application/json");

            // creating the entity to send
            ByteArrayEntity toSend = new ByteArrayEntity(json.getBytes());
            httppost.setEntity(toSend);

            HttpResponse response = httpClient.execute(httppost);
            String status = "" + response.getStatusLine();
            System.out.println(status);
            HttpEntity entity = response.getEntity();

            InputStream input = entity.getContent();
            StringWriter writer = new StringWriter();
            IOUtils.copy(input, writer, "UTF8");
            String content = writer.toString();
            // do something useful with the content
            System.out.println(content);
            writer.close();
            EntityUtils.consume(entity);
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        } finally {
            httpClient.getConnectionManager().shutdown();
        }
    }

それが役に立てば幸い。

于 2013-02-19T00:40:10.393 に答える