是否有任何开箱即用的方法将单例json数组反序列化为相同类型的java pojo?
例如,我想要以下json:
[{"eventId": "event1", "timestamp": 1232432132}]
反序列化为以下java POJO:
class Event {
String eventId;
long timestamp;
}
我尝试使用下面的类:
class Event {
String eventId;
long timestamp;
public Event(@JsonProperty("eventId") String event,
@JsonProperty("timestamp") long timestamp)
//fields init
}
@JsonCreator
public Event(List<Event> singletonList)
//take first element in list and set its fields on this
}
但是这失败了:om.fasterxml.jackson.databind.exc.MismatchedInpuExc的:无法反序列化FIELD_NAME令牌java.util.ArrayList的实例
我知道我可以用这样的其他类包装事件POJO:
class EventWrapper {
Event event;
@JsonCreator
EventWrapper(List<Event> events) {
this.event = events.get(0);
}
但我希望避免这种情况(以及避免自定义反序列化器)
任何帮助都将不胜感激。
您可以按照此操作获取List,而不是创建额外的类,
import com.fasterxml.jackson.databind.ObjectMapper;
ObjectMapper mapper = new ObjectMapper();
List<Event> myObjects = Arrays.asList(mapper.readValue(json, Event[].class));
我收到来自第3方服务提供商的JSON响应,其中包含一系列对象。当我尝试使用Jackson api反序列化JSON时。我收到以下异常 我的回答是 我的POJO课是这样的 我正在尝试使用以下代码反序列化JSON 如果我试着去做 它在BEGIN_对象本身失败。 如何使用数组读取和反序列化JSON。我应该编写自己的反序列化器吗? 编辑如果我使用JSON字符串而不是流,那么我就能够取回所有Java对象。但为
我在使用spring反序列化json数组时遇到一个问题。我有来自服务的json响应: 我使用spring WebFlux的新WebClient获得了这个json,代码如下: AccountorDerList AccountOrder是一个映射字段的简单pojo。 实际上,当我点击get时,它说: 如何使用新的webflux模块正确反序列化json?我做错了什么? 更新05/02/2018 两个答案
问题内容: 我在反序列化一些json数据,获取InvalidCastExceptions之类的问题。 谁能指出我正确的方向? 这是我要反序列化的json; [{“ OrderId”:0,“名称”:“摘要”,“ MaxLen”:“ 200”},{“ OrderId”:1,“名称”:“详细信息”,“ MaxLen”:“ 0”}] 这是我的代码; 问题答案: OrderId是json中的一个Int(请注
问题内容: 我正在尝试将json数据反序列化为模型类,但是失败了。这是我的工作: 这是我的模型的样子: 您可以看到我到达这里的Json:http : //api.worldbank.org/incomeLevels/LIC/countries? format=json 这是我得到的错误: 无法将JSON数组反序列化为“ Mvc4AsyncSample.Models.CountryModel”类型。
这是一个重复问题,因为下面的问题要么乱七八糟,要么根本没有回答: Jackson永远无法处理泛型类型T,它认为它是JavaType的映射,但它会发现对象类型构造函数参数,因为类型擦除并抛出错误。这是杰克逊的错误,还是我做错了什么?TypeReference或JavaType的显式规范还用于什么?
问题内容: 我希望这个问题最终能找到一个答案,使之永远清楚。 有模特儿: JSON输入: 以及两种反序列化泛型类型的推荐方法: 要么 Jackson永远无法处理通用类型T,它认为这是JavaType的Map,但由于类型擦除而找到了对象类型构造函数参数,并抛出错误。那是杰克逊的臭虫,还是我做错了什么?TypeReference或JavaType的显式规范还有什么用? 问题答案: 您需要在构造函数上添