Java 如何显示从流到控制台的json响应
我试图通过以下方式使用jira rest api url访问所有jira问题:Java 如何显示从流到控制台的json响应,java,json,jira,jira-rest-api,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"; b
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();
我从url得到一个JSON响应。我接下来要做什么来显示对控制台的响应
更新:
尝试执行System.out.printn(响应)时获取空指针异常 System.out.println(响应)
:打印到控制台
而且,您还可以通过使用这些库来避免样板代码。例如,您可以将所有代码替换为下面的一行
String response = IOUtils.toString(new URL("http://ficcjira.xyz.com/rest/api/2/search?jql=project=ABC&fields=timespent"));
IOUtils
是apache commons的一部分。您只需使用System.out.print();在您流化的字符串响应中是的,我正在这样做,但我得到了以下错误:javax.activation.MimeType.parse(MimeType.java:97)在javax.activation.MimeType.(MimeType.java:63)在TimeLogged.main(TimeLogged.java:51)@Ramya请用NPE更新你的问题。是的,我正在这样做,但我得到了这个错误:javax.activation.MimeType.parse(MimeType.java:97)在javax.activation.MimeType.(MimeType.java:63)在TimeLogged.main(TimeLogged.java:51)尝试使用记录器类不要改变你问题的含义,当您已经有了原始问题的答案时。如果你有一个新问题,那么创建一个新帖子。@Tom我在下面的评论中被告知更新我的问题。更新问题不包括删除旧问题。你可以附加额外的信息,但既然你有一个新问题,那就创建一个新帖子吧。@Tom有点苛刻,提问者回答了另一个答案。