json解析适配模板_认识适配器:JSON绑定概述系列
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绑定概述系列相关推荐
- Esp8266 --深入分析官方json解析源码及如何使用json接口解析心知天气
什么是json? 懵逼回答:[参考菜鸟教程] a.JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation) b.JSON 是轻量级的文本数据交 ...
- html json解析插件,jQuery插件jsonview展示json数据
本文实例为大家分享了jQuery插件jsonview展示json数据的具体代码,供大家参考,具体内容如下 项目中要展示json数据,自己写一套html来展示太麻烦,可以使用jquery的插件jsonv ...
- 将json绑定为对象_了解自定义对象创建:JSON绑定概述系列
将json绑定为对象 让我们看一下JSON绑定如何处理自定义对象的创建. 本系列的下一篇文章将介绍如何使用适配器自定义JSON-B. JSON-B期望所有类都有一个公共的无参数构造函数 ,在反序列化过 ...
- 认识适配器:JSON绑定概述系列
适配器通过实现JsonbAdapter接口来配置自定义对象的创建和序列化. 方法AdaptToJson()和AdaptFromJson()被执行序列化和反序列化操作的逻辑覆盖. 下一篇文章介绍了使用自 ...
- python post json 解析失败_python – Flask RESTful POST JSON失败
我有一个问题,通过curl从cmd( Windows7)发布 JSON到Flask RESTful. 这就是我发布的内容: curl.exe -i -H "Content-Type: app ...
- ccf json解析 java,【求助】e4a json解析 求助大佬帮忙老看下怎么取?
[PHP] 纯文本查看 复制代码[{"title":"\u4e1c\u98ce\u7834","url":"\/tv\/QrRob ...
- 了解自定义De / Serializer:JSON绑定概述系列
自定义JSON绑定的最高级方法是使用自定义序列化程序和反序列化程序. JSON-B序列化器和反序列化器是可用的最低级别的自定义,并且可以访问JSON处理解析器和生成器. 定制的序列化程序必须实现Jso ...
- 了解自定义对象创建:JSON绑定概述系列
让我们看一下JSON绑定如何处理自定义对象的创建. 本系列的下一篇文章将介绍如何使用适配器自定义JSON-B. JSON-B期望所有类都具有一个公共的无参数构造函数 ,该构造函数在反序列化过程中用于实 ...
- layui绑定json_认识定制:JSON绑定概述系列
layui绑定json 让我们看一下自定义JSON绑定序列化和反序列化过程时 , 注释模型和运行时配置如何工作. 本系列的下一篇文章介绍JSON-B如何处理自定义对象的创建. 注释方法 使用注释方法, ...
最新文章
- Redis 你该懂的点
- MINA与JMX集成(翻译)
- C/C++实现图的广度和深度遍历
- java tm for chrome_java – 是否可以使用Postman Chrome扩展程序发送hashmap?
- 计算机网络 | 网络基础 :网络协议,协议分层,数据封装与分用,地址管理,字节序
- 机器学习算法--ALS
- Spring Tool Suite 4 添加反编译插件
- mysql 视图 过程 函数_MySQL视图,函数,触发器,存储过程
- TensorFlow载入VGG并可视化每层
- 关于静态编译出现的问题以及解决方法
- iOS开发中常见的性能优化技巧
- java 并发变量_二、Java多线程编程 (对象及变量的并发访问)
- python入门经典代码-Python入门36道经典练习题
- springboot自动配置的原理
- vcpkg下载mysql库_VCpkg 开源库管理工具
- 机顶盒及编解码器的音视频质量评价测试
- 《智能搜索和推荐系统》总结
- 3 年9.9元,网站从HTTP升级到HTTPS
- 腾讯(大连)研发一面-20190620
- Compare线刷包与卡刷包
热门文章
- 牛客网dp专题 数位dp
- 【正睿2021寒假省选第二轮集训 day 1】串 (后缀自动机+记忆化)
- jzoj2940-生成输入数据【最小生成树,并查集】
- codeforces1559 D2. Mocha and Diana (Hard Version)(并查集+启发式合并+随机化)
- 7、java中的面向对象思想和体现
- 24、mysql连接线程的show和kill
- SpringCloud Gateway配置自定义路由404坑
- Spring Data之MongoDB配置
- 深入分析事务的隔离级别
- Java多线程:线程安全和非线程安全的集合对象