在我当前的android项目中,API提供引号中的每个JSON值:
{
"id":"1234",
"title":"Matrix",
"subTitle":"",
"year":"1999",
"rating":"9"
}
我可以成功地将它映射到我的模型(显然整数被GSON识别?)。
int id;
String title;
String subtitle;
int year;
int rating;
当电影没有评级时,会出现问题。在这种情况下,API返回
"rating":""
GSON无法将其映射到int。
我如何说服GSON将""
替换为-1
仅用于整数,因为我想保留空字符串,例如对于不存在的字幕?
TypeAdapter
似乎是我需要的,但它不会取代每个空字符串(甚至是映射到字符串的字符串)?
答案 0 :(得分:0)
我会像这样进行建模:
int id;
String title;
String subtitle;
// Here you have to be sure that year is always going to be a valid int
int year;
private String rating;
public int getRating() {
return TextUtils.isEmpty(rating) ? -1 : Integer.parseInt(rating);
}
当然,如果您的模型也被发送回您的服务器,您需要相应地进行调整。