2014-02-23 97 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");