我使用以下方法将提要解析为Java对象。
val gsonBuilder = GsonBuilder()
val gson = gsonBuilder.create()
var homeModel: DataModel?=null
try {
homeModel = gson.fromJson(response, DataModel::class.java)
}catch (ex:java.lang.Exception){
}
如果feed是相同的格式,这可以正常工作,但是某些对象的类型发生了变化,它会进入异常块。
例如,feed有时提供“integers”而不是Object中的“data”
@SerializedName("data")
@Expose
private List<MoreData> data = null;
我想知道如果类型不匹配,在GSON中是否有可能将特定数据设置为“null”。
1条答案
按热度按时间falq053o1#
你需要用List〈Object〉来改变你的数据类型“data”,或者用List〈Any〉来改变你的数据类型“data”,这样你就可以摆脱异常了。
但在使用时需要将项转换为适当的类型。
例如:
但是,如果要在数据类型不同时将“数据”设置为null,可以尝试: