适配器通过实现JsonbAdapter接口来配置自定义对象的创建和序列化。 方法AdaptToJson()AdaptFromJson()被执行序列化和反序列化操作的逻辑覆盖。

下一篇文章介绍了使用自定义序列化器和反序列化器自定义JSON-B的最高级方法。

此处的示例实现中,已经使用代码实现了AdaptToJson()方法,该代码使用JSON Processing API中的JSON对象构建器将Booklet对象转换为JsonObjectAdaptFromJson()方法从JsonObject实例构造Booklet对象。

public class BookletAdapter implements JsonbAdapter<Booklet, JsonObject> {@Overridepublic JsonObject adaptToJson(Booklet booklet) {return Json.createObjectBuilder().add("title", booklet.getTitle()).add("firstName", booklet.getAuthor().getFirstName()).add("lastName", booklet.getAuthor().getLastName()).build();}@Overridepublic Booklet adaptFromJson(JsonObject json) {Booklet booklet = new Booklet(json.getString("title"),new Author(json.getString("firstName"),json.getString("lastName")));return booklet;}
}

如您所见, AdaptToJson()方法将Author对象展为两个属性: firstNamelastNameAdaptFromJson()方法将重建Author对象并输出Booklet实例。

JsonbAdapter非常灵活,可用于自定义单个字段以及整个对象的序列化和反序列化

这是通过标记应使用JsonbTypeAdapter注释自定义的字段,方法或类并将其传递给要使用的JsonbAdapter的类名来实现的。

此处显示了示例实现firstName字段标记有JsonbTypeAdapter批注和指定为适配器的FirstNameAdapter类。

public class Author {@JsonbTypeAdapter(FirstNameAdapter.class)private String firstName;
}public class FirstNameAdapter implements JsonbAdapter<String, JsonValue> {@Overridepublic JsonValue adaptToJson(String fullName) {return Json.createValue(fullName.subSequence(0, 1).toString());}@Overridepublic String adaptFromJson(JsonValue json) {return json.toString();}}

最后,这是使用自定义序列化器和反序列化器自定义JSON-B的最先进方法。

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

翻译自: https://www.javacodegeeks.com/2018/05/get-to-know-adapters-json-binding-overview-series.html

认识适配器:JSON绑定概述系列相关推荐

  1. 将json绑定为对象_了解自定义对象创建:JSON绑定概述系列

    将json绑定为对象 让我们看一下JSON绑定如何处理自定义对象的创建. 本系列的下一篇文章将介绍如何使用适配器自定义JSON-B. JSON-B期望所有类都有一个公共的无参数构造函数 ,在反序列化过 ...

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

    让我们看一下JSON绑定如何处理自定义对象的创建. 本系列的下一篇文章将介绍如何使用适配器自定义JSON-B. JSON-B期望所有类都具有一个公共的无参数构造函数 ,该构造函数在反序列化过程中用于实 ...

  3. layui绑定json_认识定制:JSON绑定概述系列

    layui绑定json 让我们看一下自定义JSON绑定序列化和反序列化过程时 , 注释模型和运行时配置如何工作. 本系列的下一篇文章介绍JSON-B如何处理自定义对象的创建. 注释方法 使用注释方法, ...

  4. 认识定制:JSON绑定概述系列

    让我们看看自定义JSON绑定序列化和反序列化过程时 , 注释模型和运行时配置如何工作. 本系列的下一篇文章介绍JSON-B如何处理自定义对象的创建. 注解方法 使用注释方法,可以通过注释字段,Java ...

  5. 了解自定义De / Serializer:JSON绑定概述系列

    自定义JSON绑定的最高级方法是使用自定义序列化程序和反序列化程序. JSON-B序列化器和反序列化器是可用的最低级别的自定义,并且可以访问JSON处理解析器和生成器. 定制的序列化程序必须实现Jso ...

  6. json解析适配模板_认识适配器:JSON绑定概述系列

    json解析适配模板 适配器通过实现JsonbAdapter接口来配置自定义对象的创建和序列化. 方法AdaptToJson()和AdaptFromJson()被执行序列化和反序列化操作的逻辑覆盖. ...

  7. 认识JSON绑定:概述系列

    JSON绑定的Java API(JSON-B)1.0增强了Java EE平台对JSON数据交换格式的整体支持. 事实证明, 用于JSON处理的Java API(JSON-P)1.1十分流行,它们共同构 ...

  8. layui绑定json_JSON绑定:概述系列

    layui绑定json JSON绑定的Java API(JSON-B)1.0增强了Java EE平台对JSON数据交换格式的整体支持. 事实证明, 用于JSON处理的Java API(JSON-P)1 ...

  9. 新JSON绑定库JSON-B发布公开预览版

    JSON-B这个有望添加到Java EE 8的JSON绑定库发布了公开预览版.该库以JSON Processing(不要同JSONP或JSON-with-padding混淆)为基础构建,旨在为诸如Ja ...

最新文章

  1. LeetCode-笔记-523. 连续的子数组和
  2. 河南经济管理学校2001级计算机,懂得取舍,习得自主——访管信2001级经英奖学金得主张瑞娟...
  3. 7-29 修理牧场 (25 分)
  4. 计算机TXT试题,全国计算机二级试题.txt
  5. Linux中环境变量文件及配置
  6. Keil(MDK-ARM-STM32)系列教程(二)工具栏详细说明
  7. formrules 表单验证限制最大值_HTML5表单
  8. chromium笔记目录
  9. 2dpsk调制解调实验matlab_贼详细的8PSK调制与解调详细过程
  10. 解决Adobe Flash Player已不再受支持的问题
  11. tgp登录dnf一直显示连接服务器失败,DNF总网络连接失败是为什么?
  12. 算法渐近性质分析_神奇宝贝解释的渐近分析:深入研究复杂性分析
  13. 求解字谜游戏java_有趣的字谜游戏,一起来解锁答案吧!
  14. 图像处理在医学方面的应用
  15. Jquery之removeClass()
  16. SQLite数据库中的.db-shm文件和.db-wal文件
  17. 抖音如何开直播?直播需要做什么准备?
  18. 兆鹏带你读watir——【第五篇】watir的js应用(技巧篇)
  19. 怎么运行c语言程序,如何使用C语言进行编程操作,教程在这里,C语言编程快速入门...
  20. Mysql之group by 和order by 一起用时的排序问题

热门文章

  1. Java启动参数与内存调优一些学习笔记
  2. Eclipse 内置浏览器
  3. 浅析负载均衡的6种算法,Ngnix的5种算法
  4. (十)IDEA添加mybatis-mapp.xml文件
  5. 02-MyBatis配置SQL打印
  6. C++描述 国王给骑士发放金币 ||
  7. 《朝花夕拾》金句摘抄(六)
  8. Servlet使用适配器模式进行增删改查案例(Emp.java)
  9. 数组的初始化与默认值
  10. from + size must be less than or equal to: [10000] but was [10550]