2014-02-23 99 views
0

有点问题;从数组中获取JSON关键字

il从https://api.twitch.tv/kraken/streams/yeroise 收到一个JSON丢失的数组,我想要关键字“查看者”(来自stream.viewers)。

那么我怎么写这个命令然后自下面的一个不工作;

json.get("stream.viewers") 

Full Code;

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

你能在相关的代码添加到你的问题?上面编辑的 – morgano

+0

。 =) – user3220962

+0

它是谷歌GSON或org.json。*? – mdolbin

回答

0

你正在试图获得stream.viewers而不是让viewersstream对象的内部,所以你需要接受stream作为单独的JSON对象,然后得到viewers场。

如果你使用谷歌GSON:

json.getAsJsonObject("stream").getAsInt("viewers"); 

org.json.*情况:

json.getJSONObject("stream").getInt("viewers");