使用gson,改进将json数组反序列化为模型的正确方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用gson,改进将json数组反序列化为模型的正确方法相关的知识,希望对你有一定的参考价值。

我使用gson将http响应(来自改造)反序列化为模型。所以,现在我有一些json数组作为响应,像这样:

[{"object":"value"},{"object":"value"},{"object":"value"},{"object":"value"}]

通过组合rxjava和retrofit,我发出http请求并尝试在我的模型中保存响应,如下面的代码所示:

    @GET("contacts")
    Observable<ResponseModel> getBankDepartments();

所以问题是我应该如何使用gson来保存此模型中的响应。通常在简单的json响应中像这样{"status":1}I使用

@SerializedName("status")
@Expose

特定字段的注释。但是我如何为json数组做同样的事情呢? P.S如果smth在语法或其他方面是错误的,请不要责怪)

答案

如果要保存数组,只需返回Observable<List<ResponseModel>>而不是单个对象。

以上是关于使用gson,改进将json数组反序列化为模型的正确方法的主要内容,如果未能解决你的问题,请参考以下文章

使用 GSON 将 JSON 反序列化为 Java 对象时遇到问题

Google Gson 使用简介

无法将 JSON 数组反序列化为类型 - Json.NET

Gson 将 List<String> 反序列化为 realmList<RealmString>

无法将当前JSON数组(例如[1,2,3])反序列化为“模型”类型

将json的日期属性反序列化为LocalDate