如何使用Gson将JSONArray转换为List?

36

在我的Android项目中,我正在尝试将接收到的JSONArray转换为List。在这个SO答案的帮助下,我进展了一些。现在我有以下代码:

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

不幸的是,最后一行抱怨说类型 Gson 中的 fromJson(String, Type) 方法不适用于参数 (JSONArray,Type)。我不太知道该如何解决这个问题。

有人知道我该如何解决这个问题吗?

1个回答

66

如果你在那里看到了答案,你就能注意到fromJson()方法中的第一个参数是一个String(JSON对象)。尝试像这样在JsonArray上使用toString()

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

如果它对您有帮助,请接受答案! - Syed Waqas
@R.J 给我提示 可以重构为一个名为_static_的内部类SIC_INNER_SHOULD_BE_STATIC_ANON,如何修复它? - Kasun Siyambalapitiya

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接