2013-10-02 189 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 '如何解决它 –

相关问题