【问题标题】:Deserialize nested field from JSON using LoganSquare使用 LoganSquare 从 JSON 反序列化嵌套字段
【发布时间】:2017-12-07 06:16:03
【问题描述】:

我正在使用带有 Retrofit 的 LoganSquare 来使用来自 Web 服务的数据。

对于一个特定的 API,Web 服务返回一个相对复杂的 JSON 响应,而我唯一感兴趣的信息是嵌套了几层。例如,

{"outer": { "middle": { "inner": ... }}}

由于我只对inner 值感兴趣,因此我创建了一个数据对象,例如:

@JsonObject
class MyData implements Serializable {
    @JsonField(name = "outer.middle.inner")
    public String inner;
}

我已经将 Web 服务的返回值映射到了这种数据类型。

但是,这种点语法 (outer.middle.inner) 会达到我的预期只是一厢情愿,因为该字段在成功调用该方法时并未映射。

有没有办法将 LoganSquare JSON 对象中的字段映射到嵌套值?

【问题讨论】:

    标签: java android json retrofit logan-square


    【解决方案1】:

    我认为您必须将每个 JsonObject 声明为内部类:

    @JsonObject
    public class MyData implements Serializable {
        @JsonObject
        public static class Outer {
            @JsonObject
            public static class Middle {
                @JsonField
                public String inner;
            }
        }
    }     
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-01-22
      • 1970-01-01
      • 2011-06-03
      • 1970-01-01
      • 1970-01-01
      • 2016-02-13
      • 2018-08-01
      相关资源
      最近更新 更多