在发布问题之前,我已经在 Stack Overflow 上搜索过了,但是对于Jackson没有找到解决方案。
这是服务器的响应:
{
"ok": true,
"result": [
{
"update_id": 489881731,
//rest
},
{
"update_id": 489881732,
//rest
}
]
}
正如您所看到的,属性"result"
是一个数组。
现在这是另一个响应:
{
"ok": true,
"result": {
"id": 211948704,
"first_name": "ربات ادمینهای تلگرام",
"username": "tgAdminsBot"
}
}
这里的"result"
是一个单一的对象。
这是我想要将内容反序列化到的类。当然,我为TObject
编写了一个自定义反序列化器:
public class Result
{
private TObject[] result;
private boolean ok;
public void setOk (boolean ok) {//code}
public void setResult (TObject[] result) {//code}
public TObject[] getResult () {//code}
public boolean getOk (){//code}
}
在我的课堂上,我假设"result
"是一个TObject
数组。那我现在该怎么办呢?如果我有一个是TObject
数组,另一个是单个的TObject
,是否可以使用@JsonProperty("result")
两次?
如果不可以,我还能做什么?
DeserializationFeature.ACCEPT_SINGLE_VALUE_AS_ARRAY
https://dev59.com/HmQn5IYBdhLWcg3wNk_t#17004714 或者这个:http://stackoverflow.com/search?q=DeserializationFeature.ACCEPT_SINGLE_VALUE_AS_ARRAY - varren