了解自定义对象创建:JSON绑定概述系列

让我们看一下JSON绑定如何处理自定义对象的创建。

本系列的下一篇文章将介绍如何使用适配器自定义JSON-B。

JSON-B期望所有类都具有一个公共的无参数构造函数 ,该构造函数在反序列化过程中用于实例化目标类。 创建实例后,可通过调用适当的setter方法或直接设置公共字段来用JSON文档中的数据填充实例。

但是,有时这还不够,尤其是在构造复杂的情况下,对于这些情况,必须实现自定义构造函数或静态工厂方法。 此代码段显示了自定义构造函数的实现。

public class Magazine {
    private String title;
    private Author authorName;

    @JsonbCreator
    public Magazine(@JsonbProperty("bookTitle") String title,
                    @JsonbProperty("firstName") String firstName,
                    @JsonbProperty("surname") String lastName) {
        this.title = title;
       this.authorName = new Author(firstName, lastName);
    }
}

您会注意到使用JsonbProperty批注将JSON属性名称映射到构造函数参数列表中的参数,以及构造函数如何使用名字姓氏来构造Author类的实例。

此JSON文档已成功反序列化为Magazine类。

{
  "firstName": "Alex",
  "surname": "Theedom",
  "bookTitle": "Fun with JSON-B"
}

为了对序列化和反序列化过程进行更高级的自定义,我们需要看一下适配器如何工作,这就是我接下来要做的。

除了我在这些博客文章中讨论的内容之外,关于JSON Binding API还有更多的知识要知道。

翻译自: https://www.javacodegeeks.com/2018/04/get-to-know-custom-object-creation-json-binding-overview-series.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值