我目前正在为我的Android项目使用Gson和Retrofit,它自动解析我所需的API。但是,我意识到API包含一个值,它可以是API中不同类型数据的布尔值或对象。
例如
...
{
"media": false,
},
{
"media": {
"mp4": "http://sample.com/something.mp4",
"jpg": "http://sample.com/something.jpg",
}
},
...
我的Gson模型究竟应该是什么样的?
@SerializedName("media")
Object images;
答案 0 :(得分:0)
使用Object
解析没有错。使用解析后的数据时,只需使用instanceof
来检查数据的类型。
例如:object instanceof Boolean
表示布尔值。
修改强> 为url创建一个模型类。喜欢:
public class Urls {
@SerializedName("mp4")
private String mp4Url;
@SerializedName("jpg")
private String jpgUrl;
public String getMp4Url() {
return mp4Url;
}
public String getJpgUrl() {
return jpgUrl;
}
}
现在检查
if(parsedObject instanceof Urls) {
Urls urls = (Urls) parsedObject;
urls.getMp4Url;
}