2013-10-02 108 views
24

在我的Android項目中,我試圖將收到的JSONArray轉換爲列表。在this SO answer的幫助下,我進一步瞭解了一點。我現在有下面的代碼:如何將JSONArray轉換爲Gson的List?

Gson gson = new Gson(); 
JSONArray jsonArray = NetworkUtilities.getData("mymodeldata"); 
Type listType = new TypeToken<List<MyModel>>(){}.getType(); 
List<MyModel> myModelList = gson.fromJson(jsonArray, listType); 

不幸的是,在投訴的最後一行,在類型的方法fromJson(字符串,類型)GSON是不適用的參數(JSONArray,類型)。我真的不知道如何解決這個問題。

有誰知道我能如何解決這個問題?

回答

51

如果您在那裏看到答案,可以注意到fromJson()方法中的第一個參數是String(json對象)。嘗試使用這樣的JsonArray toString(): -

List<MyModel> myModelList = gson.fromJson(jsonArray.toString(), listType); 
+0

太棒了,謝謝!爲什麼我沒有想到這個! – kramer65

+0

@ kramer65:如果它幫助你,請接受答案! –

+0

@ R.J它給了我'可以被重構爲一個名爲_static_內部類SIC_INNER_SHOULD_BE_STATIC_ANON '如何解決它 –

相關問題