通过Json响应获取请求?

时间:2016-08-19 13:51:38

标签: java json web-services get

我有以下类从json响应返回一个spefic字段。 这里请求的方法是post。我如何用get方法做​​到这一点? 另外,我想用标题

制作get请求
CloseableHttpClient httpClient = HttpClients.createDefault();
    HttpPost post = new HttpPost(
            "");
    post.addHeader("Auth-Token", authenticationValues.getAuthToken());
    post.addHeader("device-id", authenticationValues.getDeviceId());

    List<NameValuePair> params = new ArrayList<>();
    params.add(new BasicNameValuePair("task", "savemodel"));
    String generatedJSONString = null;
    params.add(new BasicNameValuePair("code", generatedJSONString));
    CloseableHttpResponse response = null;
    Scanner in = null;

    try {
        post.setEntity(new UrlEncodedFormEntity(params));
        response = httpClient.execute(post);
        HttpEntity entity = response.getEntity();
        in = new Scanner(entity.getContent());

        while (in.hasNext()) {
            JsonString += in.next();

        }

        EntityUtils.consume(entity);
    } catch (IOException e) {
        e.printStackTrace();
    }
//  System.out.println(JsonString);

    JSONObject jsonObject = new JSONObject(JsonString);
    JSONObject myResponse = jsonObject.getJSONObject("login");
    Object myResponse2 = myResponse.get("loginStatus");

的System.out.println(myResponse2);

1 个答案:

答案 0 :(得分:1)

试试这个......

URL url = new URL("http://"...);
HttpURLConnection http = (HttpURLConnection)
url.openConnection();
http.setRequestMethod("GET");
http.setDoOutput(true);
http.connect();

OutputStream out = http.getOutputStream();
OutputStreamWriter writer = new OutputStreamWriter(out);
writer.write(FOO);
writer.flush();
writer.close();

InputStreamReader in = new InputStreamReader(http.getInputStream());
BufferedReader br = new BufferedReader(in);

char[] chars = new char[BUF_SIZE];
int size = br.read(chars);

String response = new String(chars).substring(0, size);

全部包含在try-catch块中。