gpt4 book ai didi

Java - 从 URL 获取 JSON 数据

转载 作者:行者123 更新时间:2023-12-05 06:15:59 24 4
gpt4 key购买 nike

我正在尝试从 http://api.conceptnet.io/c/en/concept 中提取一个 JSON 文档但我没有成功将 JSON 数据放入变量中。我所要做的就是获取页面的源代码(特别是第一行,但我明白为什么我只得到一行):

InputStream stream = url.openStream();
Scanner scan = new Scanner(stream);
String data = scan.nextLine();
System.out.println(data);

这没有帮助。如果我可以将 JSON 数据放入字符串中,我可以将其输入 JSONObject 构造函数以构建 JSONObject。如果我在 python 中这样做,我所要做的就是:

concept = requests.get('http://api.conceptnet.io/c/en/' + theword).json()

但我想不出 Java 中的等价物。我对 Web 请求的经验很少,因此非常感谢任何帮助。

最佳答案

在 java 中有多种获取 json 的选项。

  • 如果您使用的是 Java 11,则可以在内置的网络客户端中使用 Java。

HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("http://api.conceptnet.io/c/en/concept"))
.build();
client.sendAsync(request, BodyHandlers.ofString())
.thenApply(HttpResponse::body)
.thenAccept(System.out::println)
.join();

  • 使用像 OkHttp 这样的库,您必须创建一个请求并将其提供给 HttpClient。

Request request = new Request
.Builder()
.url("http://api.conceptnet.io/c/en/concept")
.get()
.build()

OkHttpClient httpClient = client.newBuilder().build()
Response response = httpClient.newCall(request).execute()
System.out.println(response.body.string())

关于Java - 从 URL 获取 JSON 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62268311/

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