从数组中获取JSON关键字

时间:2014-02-23 11:41:55

标签: java arrays json

有点问题;

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"));

1 个答案:

答案 0 :(得分:0)

您尝试获取stream.viewers而不是在viewers对象中获取stream,因此您需要接收stream作为单独的json对象,然后获取{{1} }} field。

如果您使用的是Google GSON:

viewers

如果是json.getAsJsonObject("stream").getAsInt("viewers");

org.json.*