gpt4 book ai didi

android - 使用 Retrofit 处理变量 JSON

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:36:06 26 4
gpt4 key购买 nike

我正在从后端获取数据(使用 Retrofit),其中一个键包含一个 JSON 对象作为其值。我为此对象编写了以下类结构:

public class NotificationData {
@SerializedName("photo_pk")
@Expose
private int photoPk;
@SerializedName("gallery_pk")
@Expose
private int galleryPk;
@SerializedName("user_pk")
@Expose
private int userPk;
}

问题是这个对象的值可以是 null 或者,如果它不是 null,它可以包含字段 photo_pkgallery_pk 或者可能是 gallery_pkuser_pk。如果后端一直在发送所有字段并为存在的字段提供值并为其他字段提供 null 值,那么它将完美地工作。但是由于有些字段会出现,有些不会,具体取决于具体情况,我希望来自后端的值能够正确匹配,对于那些不是来自后端的字段,我希望它们为 null 或其他一些默认值。我怎样才能做到这一点?

这是示例 JSON

{  
'display':{
'image':'https://kdfnvdfkdvd',
'title':'fkfjkfdvfldvmdflv',
'large_text':'bvfdkvkdfv',
'icon':'something.jpg',
'image_format':'SQUARE'
},
'data':{
'image_pk':9
},
'notif_id':8,
'screen':'IMAGE',
'priority':0,
'time':'2016-02-06 15:22:33',
is_read:False
}

我指的字段是数据。它包含变量 JSON。

最佳答案

使用 Integer 而不是 int。在这种情况下,您的变量可能为空。

public class NotificationData {
@SerializedName("photo_pk")
@Expose
private Integer photoPk;
@SerializedName("gallery_pk")
@Expose
private Integer galleryPk;
@SerializedName("user_pk")
@Expose
private Integer userPk;
}

关于android - 使用 Retrofit 处理变量 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36279462/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com