为了账号安全,请及时绑定邮箱和手机立即绑定

Jackson 链自定义解串器

Jackson 链自定义解串器

慕侠2389804 2021-07-27 21:08:37
如果你有一个班级User:class User {    private String firstName;    private String lastName;    private Address address; //object}和一个类Address分别:class Address {    private String streetName;    private String postCode;    private AddressType addressType; //enum}以及为两者定制的 Jackson 反序列化器,是否有链接它们的好方法?例如class UserDeserialiser extends JsonDeserializer<User> {    public User deserialize(JsonParser jp, DeserializationContext ctxt) {        ObjectNode node = jp.getCodec().readTree(jp);        User user = fetchUser();        user.setFirstName(node.get("firstName").asText());        user.setFirstName(node.get("lastName").asText());        user.setAddress(???); // delegate to AddressDeserialiser here    }}同样在地址反序列化器中,是否可以委托默认的来处理枚举(因为它可能具有自定义映射)?class AddressDeserialiser extends JsonDeserializer<Address> {    public User deserialize(JsonParser jp, DeserializationContext ctxt) {        ObjectNode node = jp.getCodec().readTree(jp);        Address user = fetchAddress();        user.setStreetName(node.get("streetName").asText());        user.setAddressType(???); // delegate to jackson default object mapper?    }}
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 129 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信