【发布时间】:2016-10-23 02:47:58
【问题描述】:
以下是我使用杰克逊转换为 pojo 的 json 响应 -
{
paymentType": [
{
"Monthly": ["Monthly", "Monthly"],
"Prepaid": ["Prepaid", "Prepaid"]
},
""
]
}
代码:
String rspString = "{\"paymentType\": [{\"Monthly\": [\"Monthly\",\"Monthly\"],\"Prepaid\": [\"Prepaid\",\"Prepaid\"]},\"\"]}";
JsonUtil jsonUtil = new JsonUtil();
PaymentTypeResponse PaymentTypeRsp = new PaymentTypeResponse();
PaymentTypeRsp = (PaymentTypeResponse) jsonUtil.Json2Object(rspString, PaymentTypeRsp);
System.out.println(PaymentTypeRsp.getPaymentType().size());
我收到以下异常:
线程“main”中的异常 com.fasterxml.jackson.databind.JsonMappingException:不能 实例化类型的值 [简单类型,类 com.test.sample.PaymentTypeRespons] 来自字符串值 ('');不 单字符串构造函数/工厂方法
响应中有一个空白值,转换为pojo时如何处理这些值?
同理如果为null,这种情况如何处理?
任何指针将不胜感激。
提前致谢。
这是课程:
public class PaymentType
{
@JsonProperty("Monthly")
public List<String> monthly;
@JsonProperty("Prepaid")
public List<String> prepaid;
//getter and setters
}
public PaymentTypeResponse
{
@JsonProperty("paymentType")
public List<PaymentType> paymentType;
//setters and Getters
}
【问题讨论】:
-
请添加 PaymentTypeResponse 类