2012-04-11 292 views
-1
public void HelloWord { 
     for (int i = 0; i < 20; i++) { 
      Log.d("Great"); 
     } 
    } 

上面的代碼不起作用爲什麼? 我嘗試獲得價值名稱 有人知道問題在哪裏嗎?android如何解析json

org.json.JSONException:值...鏈接...在在org.json.JSONArray org.json.JSON.typeMismatch的內容。

+1

也許是因爲它與解析JSON響應無關? – MByD 2012-04-11 17:47:49

+0

它沒有任何關係?我發現代碼並使用它,如果我把那裏另一個JSON鏈接,它的工作原理... – 2012-04-11 17:53:03

+1

這不是在此之前的代碼:) – MByD 2012-04-11 17:56:09

回答

0

我認爲你錯過了JSON的工作方式。 {}中的任何內容都是對象,而[]指定一個數組。因此,Twitter的飼料的根源是一個JSONObject,而不是一個JSONArray:

嘗試更多的東西是這樣的:

JSONObject obj = new JSONObject(mStringBuilder.toString()); 
JSONObject trends = obj.getJSONObject("trends"); 
JSONArray today = trends.getJSONArray("2012-04-10"); 
for (int i = 0; i < today.length(); i++) { 
    JSONObject tag = today.getJSONObject(i); 
    String name = tag.getString("name"); 
    // do whatever with name 
} 

容易得多,而且它更清晰它是如何工作的。一個JSONObjects是字典,用鍵和值之間的簡單的映射 - 每個對象({})可以包含多個對象,或陣列([]),其可以包含簡單整數或多個對象

+0

有一個錯誤... 2012-04-10沒有值爲什麼? – 2012-04-11 18:11:10

+0

你是完全正確的。已刪除回答:) – MByD 2012-04-11 18:15:31

+0

@ user1106177因爲我輸錯了它 - 它應該是'trends.getJSONArray()',而不是'obj.getJSONArray()' - 我在我的回覆中更正了它 – JRaymond 2012-04-11 18:17:16