有点问题;
从https://api.twitch.tv/kraken/streams/yeroise收到JSON丢失的数组 我想要关键字"观众" (来自stream.viewers)。
那么我如何编写这个命令,因为下面的命令不起作用;
json.get("stream.viewers")
完整代码;
private String readAll(Reader rd) throws IOException {
StringBuilder sb = new StringBuilder();
int cp;
while ((cp = rd.read()) != -1) {
sb.append((char) cp);
}
return sb.toString();
}
public JSONObject readJsonFromUrl(String url) throws IOException, JSONException {
InputStream is = new URL(url).openStream();
try {
BufferedReader rd = new BufferedReader(new InputStreamReader(is, Charset.forName("UTF-8")));
String jsonText = readAll(rd);
JSONObject json = new JSONObject(jsonText);
return json;
} finally {
is.close();
}
}
public void StreamChecker() throws IOException, JSONException {
json = readJsonFromUrl("https://api.twitch.tv/kraken/streams/"+ownerchannel);
System.out.println(json.get("stream.viewers"));
答案 0 :(得分:0)
您尝试获取stream.viewers
而不是在viewers
对象中获取stream
,因此您需要接收stream
作为单独的json对象,然后获取{{1} }} field。
如果您使用的是Google GSON:
viewers
如果是json.getAsJsonObject("stream").getAsInt("viewers");
:
org.json.*