【问题标题】:Android. Setting default value for invalid json field安卓。设置无效 json 字段的默认值
【发布时间】:2020-06-27 21:30:25
【问题描述】:

我正在使用改造和 json 转换器。我创建了包含一些字段的 POJO。其中一个字段应该是int,但是如果服务器发送的不是int,我需要在这个字段中写入默认值,例如2。现在如果服务器发送的不是int,我得到一个异常(json格式错误的异常)在我的请求中,因为在 POJO 中,该字段被声明为 int。如果服务器发送 int 以外的内容,是否可以在此字段中写入默认值。

【问题讨论】:

  • 大多数带有自定义类型转换器的 json 库都可以做到这一点。制作一个转换器,尝试将值解析为 int 并在失败时回退到默认值。

标签: java android json retrofit2 converters


【解决方案1】:

如果服务器向您发送 null,您可以使用 Int 来存储该值,否则解析将不会成功;另一方面,如果您需要除 null 以外的其他值作为默认值,您可以覆盖您的 set 或 get 方法; set to if is null 将值设置为零或 get 如果值为 null 返回 0。

希望它有助于调试您的问题,如果服务器向您发送多个值,如字符串、布尔值等。您应该讨论哪个值是您需要的值。

【讨论】:

    猜你喜欢
    • 2016-09-22
    • 2011-04-05
    • 2021-09-02
    • 1970-01-01
    • 1970-01-01
    • 2016-07-28
    • 2014-05-29
    • 2015-06-21
    • 1970-01-01
    相关资源
    最近更新 更多