认识适配器:JSON绑定概述系列
适配器通过实现JsonbAdapter接口来配置自定义对象的创建和序列化。 方法AdaptToJson()和AdaptFromJson()被执行序列化和反序列化操作的逻辑覆盖。
下一篇文章介绍了使用自定义序列化器和反序列化器自定义JSON-B的最高级方法。
在此处的示例实现中,已经使用代码实现了AdaptToJson()方法,该代码使用JSON Processing API中的JSON对象构建器将Booklet对象转换为JsonObject 。 AdaptFromJson()方法从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对象展平为两个属性: firstName和lastName 。 AdaptFromJson()方法将重建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绑定概述系列相关推荐
- 将json绑定为对象_了解自定义对象创建:JSON绑定概述系列
将json绑定为对象 让我们看一下JSON绑定如何处理自定义对象的创建. 本系列的下一篇文章将介绍如何使用适配器自定义JSON-B. JSON-B期望所有类都有一个公共的无参数构造函数 ,在反序列化过 ...
- 了解自定义对象创建:JSON绑定概述系列
让我们看一下JSON绑定如何处理自定义对象的创建. 本系列的下一篇文章将介绍如何使用适配器自定义JSON-B. JSON-B期望所有类都具有一个公共的无参数构造函数 ,该构造函数在反序列化过程中用于实 ...
- layui绑定json_认识定制:JSON绑定概述系列
layui绑定json 让我们看一下自定义JSON绑定序列化和反序列化过程时 , 注释模型和运行时配置如何工作. 本系列的下一篇文章介绍JSON-B如何处理自定义对象的创建. 注释方法 使用注释方法, ...
- 认识定制:JSON绑定概述系列
让我们看看自定义JSON绑定序列化和反序列化过程时 , 注释模型和运行时配置如何工作. 本系列的下一篇文章介绍JSON-B如何处理自定义对象的创建. 注解方法 使用注释方法,可以通过注释字段,Java ...
- 了解自定义De / Serializer:JSON绑定概述系列
自定义JSON绑定的最高级方法是使用自定义序列化程序和反序列化程序. JSON-B序列化器和反序列化器是可用的最低级别的自定义,并且可以访问JSON处理解析器和生成器. 定制的序列化程序必须实现Jso ...
- json解析适配模板_认识适配器:JSON绑定概述系列
json解析适配模板 适配器通过实现JsonbAdapter接口来配置自定义对象的创建和序列化. 方法AdaptToJson()和AdaptFromJson()被执行序列化和反序列化操作的逻辑覆盖. ...
- 认识JSON绑定:概述系列
JSON绑定的Java API(JSON-B)1.0增强了Java EE平台对JSON数据交换格式的整体支持. 事实证明, 用于JSON处理的Java API(JSON-P)1.1十分流行,它们共同构 ...
- layui绑定json_JSON绑定:概述系列
layui绑定json JSON绑定的Java API(JSON-B)1.0增强了Java EE平台对JSON数据交换格式的整体支持. 事实证明, 用于JSON处理的Java API(JSON-P)1 ...
- 新JSON绑定库JSON-B发布公开预览版
JSON-B这个有望添加到Java EE 8的JSON绑定库发布了公开预览版.该库以JSON Processing(不要同JSONP或JSON-with-padding混淆)为基础构建,旨在为诸如Ja ...
最新文章
- LeetCode-笔记-523. 连续的子数组和
- 河南经济管理学校2001级计算机,懂得取舍,习得自主——访管信2001级经英奖学金得主张瑞娟...
- 7-29 修理牧场 (25 分)
- 计算机TXT试题,全国计算机二级试题.txt
- Linux中环境变量文件及配置
- Keil(MDK-ARM-STM32)系列教程(二)工具栏详细说明
- formrules 表单验证限制最大值_HTML5表单
- chromium笔记目录
- 2dpsk调制解调实验matlab_贼详细的8PSK调制与解调详细过程
- 解决Adobe Flash Player已不再受支持的问题
- tgp登录dnf一直显示连接服务器失败,DNF总网络连接失败是为什么?
- 算法渐近性质分析_神奇宝贝解释的渐近分析:深入研究复杂性分析
- 求解字谜游戏java_有趣的字谜游戏,一起来解锁答案吧!
- 图像处理在医学方面的应用
- Jquery之removeClass()
- SQLite数据库中的.db-shm文件和.db-wal文件
- 抖音如何开直播?直播需要做什么准备?
- 兆鹏带你读watir——【第五篇】watir的js应用(技巧篇)
- 怎么运行c语言程序,如何使用C语言进行编程操作,教程在这里,C语言编程快速入门...
- Mysql之group by 和order by 一起用时的排序问题
热门文章
- Java启动参数与内存调优一些学习笔记
- Eclipse 内置浏览器
- 浅析负载均衡的6种算法,Ngnix的5种算法
- (十)IDEA添加mybatis-mapp.xml文件
- 02-MyBatis配置SQL打印
- C++描述 国王给骑士发放金币 ||
- 《朝花夕拾》金句摘抄(六)
- Servlet使用适配器模式进行增删改查案例(Emp.java)
- 数组的初始化与默认值
- from + size must be less than or equal to: [10000] but was [10550]