gpt4 book ai didi

java - 来自 URL 的 JSON 序列化总是返回 NULL

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:03:56 24 4
gpt4 key购买 nike

我有一个 Web URL,它根据请求返回一个 JSON 格式的字符串

{"StockID":0,"LastTradePriceOnly":"494.92","ChangePercent":"0.48"}

我正在使用 Java 流式传输此内容

InputStream in = null;
in = url.openStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(in));
StringBuilder sb = new StringBuilder();

String line = null;
try {
while ((line = reader.readLine()) != null) {
sb.append(line + "\n");
}


}
catch (IOException e) {
e.printStackTrace();
} finally {
try {
in.close();
} catch (IOException e) {
e.printStackTrace();
}
}
String result = sb.toString();

但是 reader.readLine() 总是返回 null

知道我在这里做错了什么吗?

这里是实际的JSON地址http://app.myallies.com/api/quote/goog

更新

相同的代码在 http://app.myallies.com/api/news 上运行正常,尽管这两个链接具有相同的服务器实现来生成 JSON 响应。

最佳答案

看起来它就是它想要的 User-Agent。以下代码对我有用:

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;

public class JSONTest {

public static void main(String[] args) throws Exception {

URL url = new URL("http://app.myallies.com/api/quote/goog");

HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestProperty("User-Agent", "Mozilla/5.0 (X11; Linux x86_64; rv:33.0) Gecko/20100101 Firefox/33.0");
connection.setDoInput(true);

BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
StringBuilder sb = new StringBuilder();

String line = null;
while ((line = reader.readLine()) != null) {
sb.append(line + "\n");
}

System.out.println(sb.toString());

}

}

关于java - 来自 URL 的 JSON 序列化总是返回 NULL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27930218/

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