如何在retrofit2中将空字符串转换为空字符串?

时间:2016-10-12 09:15:21

标签: retrofit2

在转向改造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。?

2 个答案:

答案 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值上崩溃,除非正确消毒。