如何从HttpResponse java获取信息?

时间:2014-08-15 01:28:57

标签: java salesforce

首先请看下面的代码:

    List<BasicNameValuePair> qsList = new ArrayList<BasicNameValuePair>();
    qsList.add(new BasicNameValuePair("oauth_token", accessToken));
    String queryString = URLEncodedUtils.format(qsList, HTTP.UTF_8);
    HttpGet userInfoRequest = new HttpGet(id + "?" + queryString);
    DefaultHttpClient defaultHttpClientclient = new DefaultHttpClient();

    HttpResponse userInfoResponse;
    try {
        userInfoResponse = defaultHttpClientclient.execute(userInfoRequest);
        String responseBody = EntityUtils.toString(userInfoResponse.getEntity());
        System.out.println("User info response: " + responseBody);
        System.out.println("");
    } catch (ClientProtocolException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

我从Salesforce获得了一个访问令牌。现在我通过该令牌请求用户的信息。在responseBody我得到了该用户的所有信息,如用户名,ID,语言,......现在我只需要从响应中获取用户名。我该怎么做才能接受它?

1 个答案:

答案 0 :(得分:1)

响应很可能是JSON。如果是这样,您可以解析所需的数据。我不会重新发布代码,请参阅:How to parse JSON in Java

    JSONObject responseJSON = new JSONObject(EntityUtils.toString(userInfoResponse.getEntity());
    String username = responseJSON.getString("username");