如何显示从流到控制台的json响应

时间:2016-06-16 14:29:12

标签: java json jira jira-rest-api

我尝试使用jira-rest-api url以下列方式访问所有jira问题:

URL url;

url = new URL("http://ficcjira.xyz.com/rest/api/2/search?jql=project=ABC&fields=timespent");

    URLConnection conn = url.openConnection();

    String auth = "username" + ":" + "password";
    byte[] authBytes = auth.getBytes(StandardCharsets.UTF_8);
    String encodedAuth = Base64.getEncoder().encodeToString(authBytes);
    conn.setRequestProperty("Authorization", "Basic " + encodedAuth);

    try (InputStream responseStream = conn.getInputStream()) {

        //JsonElement element = new JsonParser(stream).parse(responseStream);

        // To read response as a string:
        MimeType contentType = new MimeType(conn.getContentType());
        String charset = contentType.getParameter("charset");
        @SuppressWarnings("resource")
        String response =
            new Scanner(responseStream, charset).useDelimiter("\\Z").next();

我从网址获得响应作为JSON响应。接下来我该怎么做才能显示对控制台的响应?

更新:

尝试执行System.out.printn(响应)时获取Null指针异常;

2 个答案:

答案 0 :(得分:0)

System.out.println(response):打印到控制台

您还可以使用库来避免样板代码。例如,您可以用下面的单行替换所有代码。

String response = IOUtils.toString(new URL("http://ficcjira.xyz.com/rest/api/2/search?jql=project=ABC&fields=timespent"));

IOUtils是apache commons的一部分。

答案 1 :(得分:0)

您可以简单地使用System.out.print();您流式传输的字符串响应