将json绑定为对象

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

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

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

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

public class Magazine {private String title;private Author authorName;@JsonbCreatorpublic 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

将json绑定为对象

将json绑定为对象_了解自定义对象创建:JSON绑定概述系列相关推荐

  1. c#谷歌 json转对象_利用Google Gson实现JSON字符串和对象之间相互转换

    最近一个项目需要用到JSON,需要在JSON字符串和对象之间相互转换,在网上找了些资料,发现google的Gson还是比较不错的. 废话不说,下面是简单的例子: 先上源码:下载(包含jar包) Per ...

  2. java会员卡的绑定和解绑_前后端分离项目 — SpringSocial 绑定与解绑社交账号如微信、QQ...

    1.准备工作 申请QQ.微信相关AppId和AppSecret,这些大家自己到QQ互联和微信开发平台 去申请吧 还有java后台要引入相关的jar包,如下: org.springframework.s ...

  3. python判断文件是否为空文件对象_判断Python对象是不是为文件对象的方法有哪些...

    判断Python对象是不是为文件对象的方法有哪些 发布时间:2020-08-13 14:01:00 来源:亿速云 阅读:76 作者:小新 这篇文章主要介绍判断Python对象是不是为文件对象的方法有哪 ...

  4. 命名对象实体对象_我的对象命名

    命名对象实体对象 这是最常见的辩论之一. 大多数人对此主题有自己的见解,却没人能真正说出哪个是正确的. 我当然不能,但是尽管如此,我还是决定与大家分享我的想法,投入两美分,也许对某人会有帮助. 当我创 ...

  5. java有几大对象_一个 Java 对象到底有多大?

    阅读本文大概需要 2.8 分钟. 出处:http://u6.gg/swLPg 编写 Java 代码的时候,大多数情况下,我们很少关注一个 Java 对象究竟有多大(占据多少内存),更多的是关注业务与逻 ...

  6. python自定义函数名_使用自定义名称创建Python动态函数

    如果这个问题已经提出并得到了回答,我深表歉意. 我需要做的是非常简单的概念,但不幸的是,我还没有找到一个在线答案. 我需要在Python(Python2.7)中使用运行时的自定义名称创建动态函数.每个 ...

  7. 万网绑定二级域名_万网虚拟主机子目录绑定子域名详解

    万网的 2 年免费虚拟主机活动让很多人都把个人博客搬到了阿里云,以最便宜的虚拟主机来说,可以绑定 30 个域名,数据库大小 100M,这是什么概念呢,陌小雨截止目前已经发布了几百篇文章,数据库大小也才 ...

  8. java 传递对象_关于Java对象作为参数传递是传值还是传引用的问题

    前言 在Java中,当对象作为参数传递时,究竟传递的是对象的值,还是对象的引用,这是一个饱受争议的话题.若传的是值,那么函数接收的只是实参的一个副本,函数对形参的操作并不会对实参产生影响:若传的是引用 ...

  9. 结构体内容引用自非结构体数组对象_类和对象

    类和对象知识点思维导图 面向对象编程的概念 在java中,万物皆对象. 面向对象是指以属性和行为的观点去分析现实生活中的事物. 面向对象编程是指先以面向对象的思想进行分析,然后使用面向对象的编程语言进 ...

最新文章

  1. pytorch 区间loss 损失函数
  2. 齐次线性方程组的解、SVD、最小二乘法
  3. PInvoke复习之深入理解char*与wchar_t*与string以及wstring之间的相互转换
  4. 《一起》个人进展——Day06
  5. servlet文件上传及下载
  6. 如何快速删除打印机任务
  7. C语言和设计模式(访问者模式)
  8. 云计算解码:技术架构和产业运营
  9. 64位 setupdienumdeviceinterfaces_win7 32位重装系统详细教程
  10. VC++ (MFC)调用 C#生成DLL的方法
  11. Quartz 触发器、过期触发策略 、排它日历、数据持久化
  12. 三菱PLC Q系列经典大型12轴Q01U 实际使用中程序,详细中文注释
  13. Proteus 封装 全加器 FA
  14. 解决搜狗输入法默认问题
  15. web端实现视频播放,视频地址切换,清晰度切换,断点续播
  16. ST-LINKV2仿真器接线、配置、仿真方法
  17. 阿里云企业邮箱哪个代理商好
  18. 软件破解高手常用的破解工具介绍
  19. 参数化建模类毕业论文文献有哪些?
  20. 亚马逊( Amazon Advertising API)API 广告授权 接口调用

热门文章

  1. STL的可持久化数组
  2. [学习笔记] 二分图基础定理的相关证明
  3. CF1100F Ivan and Burgers(线性基)
  4. nssl1458-HR 的疑惑【枚举】
  5. P1613-跑路【Floyd,倍增】
  6. 【Manacher】最长双回文串(luogu 4555)
  7. 【结论】游戏(jzoj 5536)
  8. 洛谷-省选斗兽场-动态规划1
  9. JavaFX图表(八)之堆积条形图
  10. MySQL format()函数