gpt4 book ai didi

java - 使用 java 处理 Json API 响应

转载 作者:行者123 更新时间:2023-12-01 19:43:49 25 4
gpt4 key购买 nike

我一直在尝试弄清楚如何处理 GET 请求的 json 响应。这是我的请求代码:

String urlString = URL I want to request;

URL url = new URL(urlString);
URLConnection conn = url.openConnection();
InputStream is = conn.getInputStream();
String response = getStringFromInputStream(is);

我的问题是现在该怎么办。我一直在玩 gson,但我不知道如何解析所需信息的响应。

我还在网上找到了这个方法,可以将响应转换为字符串:

 private static String getStringFromInputStream(InputStream is) {

BufferedReader br = null;
StringBuilder sb = new StringBuilder();

String line;
try {

br = new BufferedReader(new InputStreamReader(is));
while ((line = br.readLine()) != null) {
sb.append(line);
}

} catch (IOException e) {
e.printStackTrace();
} finally {
if (br != null) {
try {
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}

return sb.toString();

}

如果有人可以帮助我解析字符串或以其他方式处理响应,我将非常感激。

最佳答案

您可以使用Jackson框架将响应解析为 Java 对象。添加依赖项后,它将如何工作:

假设您从 API 收到以下响应:

{
"id": 1,
"name": "foo"
}

您可以编写以下代码将其反序列化为对象:

public class Response {
private int id;
private String name;
//Getters and Setters
}

//code to convert
String response = sb.toString();
ObjectMapper mapper = new ObjectMapper();
Response responseObject = mapper.readValue(response, Response.class);

如果 json 无效,则会失败并抛出 JsonParseExceptionJsonMappingException。您可以在代码中处理它并做出相应的响应。

Here's关于如何使用 Jackson 的分步教程。

关于java - 使用 java 处理 Json API 响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54352625/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com