gpt4 book ai didi

java - ConceptNet 5.5 和 JSON 格式

转载 作者:行者123 更新时间:2023-11-30 10:33:17 24 4
gpt4 key购买 nike

以前的 ConceptNet 5.4 API 版本返回纯文本 JSON 格式 ( http://conceptnet5.media.mit.edu/data/5.4/c/en/library )。

有人熟悉新的 ConceptNet 5.5 API 吗?为什么查询返回 html 源而不是像以前版本 (http://api.conceptnet.io/related/c/en/library) 那样的纯文本?我没有找到选择纯文本 JSON 格式的选项。


因此,此 Java 代码不适用于新版本。

JsonReader jsonReader = Json.createReader(new URL("http://conceptnet5.media.mit.edu/data/5.4/c/en/library").openStream());

最佳答案

API 响应的格式取决于 Accept:您的客户发送的 header 。 (我发现 Django REST Framework 做的时候这个行为真的很方便,所以我在 ConceptNet 的 API 代码中实现了它。)默认的响应格式是 JSON。

如果你运行 curl http://api.conceptnet.io/related/c/en/library例如,在命令行中,您将看到普通的、未缩进的 JSON。如果您在 Web 浏览器中访问它,它会缩进并用 HTML 包装,因此可以进行语法高亮显示和链接。不同之处在于 Web 浏览器发送 header Accept: text/html .

我认为这是您使用的 JsonReader 中的一个错误,它明确发送了 Accept: text/html但它期待的是 JSON 响应,而不是 HTML。看看您是否可以通过配置它发送的 header 来解决这个问题。

(如果无法避免获取 HTML,请注意纯 JSON 也存在于 HTML 中,位于 <script type="application/ld+json"> 标记内。)

关于java - ConceptNet 5.5 和 JSON 格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42281364/

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