如何使用 Gson 将 JSONArray 转换为 List?
Posted
技术标签:
【中文标题】如何使用 Gson 将 JSONArray 转换为 List?【英文标题】:How to convert JSONArray to List with Gson? 【发布时间】:2013-10-08 15:52:02 【问题描述】:在我的 android 项目中,我试图将接收到的 JSONArray 转换为列表。在this SO answer 的帮助下,我走得更远了。我现在有以下代码:
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】:如果您在那里看到答案,您会注意到fromJson()
方法中的第一个参数是String
(json 对象)。尝试在 JsonArray 上使用 toString()
,如下所示:-
List<MyModel> myModelList = gson.fromJson(jsonArray.toString(), listType);
【讨论】:
@kramer65:如果对你有帮助,请采纳! @R.J 它给了我could be refactored into a named _static_ inner class SIC_INNER_SHOULD_BE_STATIC_ANON
如何解决它以上是关于如何使用 Gson 将 JSONArray 转换为 List?的主要内容,如果未能解决你的问题,请参考以下文章