我使用本教程:http://www.androidhive.info/2012/10/android-multilevel-listview-tutorial/單JSON獲取多個記錄
在這裏,他創造了3個不同的JSONs,
首先,獲取相冊
二的列表,以獲取歌曲下的專輯列表
第三,顯示單曲信息
,但我在這裏需要一個小的變化,而不是3個不同的,不同的JSONs,我想使用單JSON兩個相冊&歌曲,我創建了我的演示JSON以及,我能拿到專輯的列表,但是歌曲的沒有得到名單,我的JSON這個樣子,我使用相同的代碼,因爲他已經爲客戶端寫的:
my.json:
[
{
"id": 1,
"name": "127 Hours",
"album": "127 Hours",
"songs": [
{
"id": 1,
"name": "Never Hear Surf Music Again",
"duration": "5:52"
},
{
"id": 2,
"name": "The Canyon",
"duration": "3:01"
}
]
}
]
logcat的:
06-18 06:36:56.318: D/dalvikvm(793): GC_CONCURRENT freed 143K, 7% free 3745K/4012K, paused 6ms+127ms, total 243ms
06-18 06:36:56.399: I/Choreographer(793): Skipped 37 frames! The application may be doing too much work on its main thread.
06-18 06:36:56.689: I/Choreographer(793): Skipped 66 frames! The application may be doing too much work on its main thread.
06-18 06:36:57.508: D/Track List JSON:(793): [
06-18 06:36:57.508: D/Track List JSON:(793): {
06-18 06:36:57.508: D/Track List JSON:(793): "id":1,
06-18 06:36:57.508: D/Track List JSON:(793): "name":"127 Hours",
06-18 06:36:57.508: D/Track List JSON:(793): "album":"127 Hours",
06-18 06:36:57.508: D/Track List JSON:(793): "songs":[
06-18 06:36:57.508: D/Track List JSON:(793): {
06-18 06:36:57.508: D/Track List JSON:(793): "id":1,
06-18 06:36:57.508: D/Track List JSON:(793): "name":"Never Hear Surf Music Again",
06-18 06:36:57.508: D/Track List JSON:(793): "duration":"5:52"
06-18 06:36:57.508: D/Track List JSON:(793): },
06-18 06:36:57.508: D/Track List JSON:(793): {
06-18 06:36:57.508: D/Track List JSON:(793): "id":2,
06-18 06:36:57.508: D/Track List JSON:(793): "name":"The Canyon",
06-18 06:36:57.508: D/Track List JSON:(793): "duration":"3:01"
06-18 06:36:57.508: D/Track List JSON:(793): }
06-18 06:36:57.508: D/Track List JSON:(793): ]
06-18 06:36:57.508: D/Track List JSON:(793): }
06-18 06:36:57.508: D/Track List JSON:(793): ]
06-18 06:36:57.668: W/System.err(793): org.json.JSONException: Value [{"id":1,"songs":[{"id":1,"duration":"5:52","name":"Never Hear Surf Music Again"},{"id":2,"duration":"3:01","name":"The Canyon"}],"album":"127 Hours","name":"127 Hours"}] of type org.json.JSONArray cannot be converted to JSONObject
06-18 06:36:57.668: W/System.err(793): at org.json.JSON.typeMismatch(JSON.java:111)
06-18 06:36:57.668: W/System.err(793): at org.json.JSONObject.<init>(JSONObject.java:158)
06-18 06:36:57.788: W/System.err(793): at org.json.JSONObject.<init>(JSONObject.java:171)
06-18 06:36:57.888: W/System.err(793): at com.example.androidhive.TrackListActivity$LoadTracks.doInBackground(TrackListActivity.java:155)
06-18 06:36:57.898: W/System.err(793): at com.example.androidhive.TrackListActivity$LoadTracks.doInBackground(TrackListActivity.java:1)
06-18 06:36:57.898: W/System.err(793): at android.os.AsyncTask$2.call(AsyncTask.java:287)
06-18 06:36:57.898: W/System.err(793): at java.util.concurrent.FutureTask.run(FutureTask.java:234)
06-18 06:36:57.898: W/System.err(793): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
06-18 06:36:57.898: W/System.err(793): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
06-18 06:36:57.909: W/System.err(793): at java.lang.Thread.run(Thread.java:856)
注:我能夠獲取歌曲的名單,但每當我做任何專輯的點擊沒有得到歌曲
你可以在網上找到許多JSON的瀏覽器的觀衆,我使用JSON文件時使用他們製造了很多: HTTP:// jsonviewer。 stack.hu/ –
這是什麼問題?郵政編碼和logcat! – Enrichman
看來你的json是有效的 - 在http://jsonlint.com/檢查你可以發佈你的代碼? –