在转向改造2之前,我正在使用凌空。要设置我的pojo值,我使用optString和optInt从JSONObject响应中检索值。这将把我的空字符串替换为空字符串,我不需要为它添加空检查。如何使用retrofit2进行相同的操作。
示例Json:
{
company_name : null
}
Pojo课程
public class company implements Serializable{
@SerializedName("company_name")
private String companyName;
public String getCompanyName(){
return companyName;
}
public void setCompanyName(String companyName){
this.companyName = companyName;
}
String companyName = getCompany(); 导致NullPointerException。
有没有办法将每个空字符串转换为空字符串,如optString。?
答案 0 :(得分:1)
使 <td style="width:50%; border:1px solid black; padding:3px; text-align:center;">
<input type="text" style="margin-left:5%;" value="{{AdditionalName}}" ng-model="AdditionalName" placeholder="Additional Name" Text="" Height="30" />
</td>
类型适配器类似
String
有关详细信息,请参阅this
答案 1 :(得分:0)
就像这样;使用的三元运算符与if
:
public void setCompanyName(String value){
this.companyName = (value==null ? "" : value);
}
或尝试使用JsonParserUtil.toPojo(...)
注释的Jackson Converter @JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL)
,然后不应该传递任何NULL值 - 而setter仍然会在NULL值上崩溃,除非正确消毒。