2017-05-25 57 views
-2

我收到來自服務器下面的字符串響應。(注意users值用方括號):安卓:名單列表的JSON關鍵值轉換爲對象的名單

{ 
    "amount": 3, 
    "users": [ 
     [ 
     "username1", 
     "Name1" 
     ], 
     [ 
     "username2", 
     "Name2" 
     ], 
     [ 
     "username3", 
     "Name3" 
     ] 
    ] 
} 

我怎樣才能把它轉換到用戶對象列表?最好使用GSON。

P.S.我的用戶類包含字段用戶名和名稱。

P.S.S.由於JSON輸出的格式完全不同(在我的情況下,格式與JSONArray fromat不同),並且該帖子的答案不能解決我的問題,所以此帖不適用於this post

謝謝!

+0

這是我如何設法解決這個問題:[鏈接](https://stackoverflow.com/questions/44188105/java-convert-string-representation-of-array-of-arrays-to-an-list -of-對象?noredirect = 1個#comment75390511_44188105)(這不是一個重複順便說一句..) –

回答

1

檢查以下鏈接此

Type listType = new TypeToken<ArrayList<YourClass>>(){}.getType(); 
List<YourClass> yourClassList = new Gson().fromJson(response.getJSONArray("users"), listType); 
+0

什麼是'response'類型?這是在我的情況一個字符串,我得到「無法解析方法getJSONArray(java.lang.String中)」 –

+0

'response'是'JSONObject' @DaniilOrekhov –

+0

@ cricket_007是的,我試過了,但現在我越來越「無法解析方法'fromJson(org.json.JSONArray,java.lang.reflect.Type)'」 –

0

使用你的JSON轉換成模型

jsonschema

  • 選擇源型JSON和註釋風格GSON

GSON代碼:

Gson mGson = new Gson(); 
Type listType = new TypeToken<List<users>>() {}.getType(); 
List<users> object = mGson.fromJson(jsonString, listType); 

希望這將有助於您的疑問。

相關問題