2016-03-21 99 views

回答

1

也許this答案可能會有所幫助。

基本上你應該迭代每個JSON對象並使用GSON方法來獲得所有的鍵。然後你可以迭代每個鍵並使用鍵獲取值。

1

使用jsonObject.had(「key」)來知道這個鍵是否存在於這個jsonObject中。所以你可以通過它的唯一鍵識別你的對象,如你的例子: 如果對象有關鍵,所以它就像第一個對象,如果它有描述它是第二個。確保迭代JsonArray中的所有JsonObject

1

我可能將它反序列化爲Map<String,String>[],或者如果您期待其他數據類型爲值Map<String, Object>[]並按需要按此方式遍歷它。

1

你的Json結果是一個具有數據數組的JsonObject。 改變像下面的結果數據:

"data":{[ 
    { 
    "about": "xyz ", 
    "id": "cda", 
    "username": "ps" 
    }, 
    { 
    "description": "this is sample response", 
    "id": "ahhj", 
    } 
]} 

然後做出模型類的這一點,並使用GSON。如果你有任何問題再問一次。

5

很明顯,您的json不是同類數據的列表。因此,不能轉換爲List。

所以,我想在你的鞋子了一段時間,並創建了一個JSON

[{"name":"dave","clazz":"V"},{"token":"VIW","type":"dexter"}] 

,最好的方法,我能想出

1:將其轉換爲JsonArray

JSONArray jsonArray = new JSONArray(json); 

2:因爲數組中的每個對象都可以是唯一類型,所以直到您非常確定將它保留爲JsonObject並不是什麼壞主意。

JsonObject jsonObject = jsonArray.getJSONObject(0); 
String token = jsonObject.getString("token"); 

3:對於你確定你有一個模型(POJO)的情況下,你可以定義類似的東西。

MyPojo myPojo = new Gson().fromJson(jsonArray.getJSONObject(0).toString(), MyPojo.class); 

希望我幫了忙!沒有!你怎麼告訴我我做錯了什麼。 :)