2015-08-27 106 views
1

在java中,我該如何取出包含在「{}」中的JSON對象?JSON:獲取JSON對象列表

我曾嘗試:

JSONObject obj = new JSONObject(jstring); 
obj.getJSONArray("fileName"); 

但它只返回的第一個對象。如何獲得兩個對象的列表?

JSON:

[ 
{ 
    "fileName": [ 
     "file1" 
    ], 
    "date": [ 
     "8/25/2015 0:00" 
    ], 
    "time": [ 
     "7/16/2009 16:51" 
    ], 
    "id": "1", 
    "version_": 1 
}, 
{ 
    "fileName": [ 
     "file1" 
    ], 
    "date": [ 
     "8/25/2015 0:00" 
    ], 
    "time": [ 
     "7/16/2009 16:51" 
    ], 
    "id": "1", 
    "version_": 1 
} 
] 

回答

0

你的根JSON是一個數組,所以首先創建您的String一個JSONArray

這樣做:

JSONArray arr = new JSONArray(jstring); 
for (int i = 0; i < arr.length(); i++) { // Walk through the Array. 
    JSONObject obj = arr.getJSONObject(i); 
    JSONArray arr2 = obj.getJSONArray("fileName"); 
    // Do whatever. 
} 

欲瞭解更多信息,請參見上JSONArrayJSONObject的文檔。

+1

這是不正確的。您無法將JSONObject轉換爲JSONArray。第一行需要糾正。 – wwjdm

+0

Ops。我的錯!完成了,現在它已更正;)感謝您指出它。我打字速度太快,忘了從我的Ctrl + V哈哈中改變 – Mauker

0

你必須直接構造JSONArray從JSON字符串在這種情況下。

JSONArray arr = new JSONArray(jstring); 
0
JSONArray jsonArray = new JSONArray(jstring); 
+0

請編輯更多信息。只有代碼和「試試這個」的答案是[灰心](http://meta.stackexchange.com/questions/196187/is-try-this-bad-practice),因爲它們不包含可搜索的內容,也不解釋爲什麼有人應該「嘗試這個」。我們在這裏努力成爲知識的資源。 –