无法从 START_OBJECT 个令牌中反序列化 PaymentResponse[] 的实例
Can not deserialize instance of PaymentResponse[] out of START_OBJECT token
无法使用 jackson objectmapper 读取响应。退出 START_OBJECT 令牌。这是输入 json 和错误消息。 PaymentResponse java pojo 是通用代码,我无权添加任何注释。对添加反序列化配置有帮助吗?
ObjectMapper objectMapper = new ObjectMapper();
PaymentResponse[] paymentResponse = objectMapper.readValue(serverResponseStr, PaymentResponse[].class);
{
"PaymentResponse[]": [
{
"uid": "111",
"name": "kiran"
},
{
"uid": "112",
"name": "kumar"
}
]
}
Can not deserialize instance of PaymentResponse[] out of START_OBJECT token
com.fasterxml.jackson.databind.JsonMappingException: Can not deserialize instance of PaymentResponse[] out of START_OBJECT token
at [Source: {"PaymentResponse[]": [{"uid": "111","name": "kiran"},{"uid": "112","name": "kumar"}]}
理想情况是您可以将响应更改为:
[{
"uid": "111",
"name": "kiran"
}, {
"uid": "112",
"name": "kumar"
}
]
如果你不能改变它,那么请试试这个:
ObjectMapper objectMapper = new ObjectMapper();
TypeFactory typeFactory = objectMapper.getTypeFactory();
JsonNode array = objectMapper.readValue(anotherResponseStr, JsonNode.class);
JsonNode paymentResponse = array.get("PaymentResponse[]");
List<PaymentResponse> p = objectMapper.readValue(paymentResponse.toString(),
typeFactory.constructCollectionType(List.class, PaymentResponse.class));
无法使用 jackson objectmapper 读取响应。退出 START_OBJECT 令牌。这是输入 json 和错误消息。 PaymentResponse java pojo 是通用代码,我无权添加任何注释。对添加反序列化配置有帮助吗?
ObjectMapper objectMapper = new ObjectMapper();
PaymentResponse[] paymentResponse = objectMapper.readValue(serverResponseStr, PaymentResponse[].class);
{
"PaymentResponse[]": [
{
"uid": "111",
"name": "kiran"
},
{
"uid": "112",
"name": "kumar"
}
]
}
Can not deserialize instance of PaymentResponse[] out of START_OBJECT token
com.fasterxml.jackson.databind.JsonMappingException: Can not deserialize instance of PaymentResponse[] out of START_OBJECT token
at [Source: {"PaymentResponse[]": [{"uid": "111","name": "kiran"},{"uid": "112","name": "kumar"}]}
理想情况是您可以将响应更改为:
[{
"uid": "111",
"name": "kiran"
}, {
"uid": "112",
"name": "kumar"
}
]
如果你不能改变它,那么请试试这个:
ObjectMapper objectMapper = new ObjectMapper();
TypeFactory typeFactory = objectMapper.getTypeFactory();
JsonNode array = objectMapper.readValue(anotherResponseStr, JsonNode.class);
JsonNode paymentResponse = array.get("PaymentResponse[]");
List<PaymentResponse> p = objectMapper.readValue(paymentResponse.toString(),
typeFactory.constructCollectionType(List.class, PaymentResponse.class));