json解析适配模板

适配器通过实现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解析适配模板

json解析适配模板_认识适配器:JSON绑定概述系列相关推荐

  1. Esp8266 --深入分析官方json解析源码及如何使用json接口解析心知天气

    什么是json? 懵逼回答:[参考菜鸟教程]   a.JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation)   b.JSON 是轻量级的文本数据交 ...

  2. html json解析插件,jQuery插件jsonview展示json数据

    本文实例为大家分享了jQuery插件jsonview展示json数据的具体代码,供大家参考,具体内容如下 项目中要展示json数据,自己写一套html来展示太麻烦,可以使用jquery的插件jsonv ...

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

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

  4. 认识适配器:JSON绑定概述系列

    适配器通过实现JsonbAdapter接口来配置自定义对象的创建和序列化. 方法AdaptToJson()和AdaptFromJson()被执行序列化和反序列化操作的逻辑覆盖. 下一篇文章介绍了使用自 ...

  5. python post json 解析失败_python – Flask RESTful POST JSON失败

    我有一个问题,通过curl从cmd( Windows7)发布 JSON到Flask RESTful. 这就是我发布的内容: curl.exe -i -H "Content-Type: app ...

  6. ccf json解析 java,【求助】e4a json解析 求助大佬帮忙老看下怎么取?

    [PHP] 纯文本查看 复制代码[{"title":"\u4e1c\u98ce\u7834","url":"\/tv\/QrRob ...

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

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

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

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

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

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

最新文章

  1. Redis 你该懂的点
  2. MINA与JMX集成(翻译)
  3. C/C++实现图的广度和深度遍历
  4. java tm for chrome_java – 是否可以使用Postman Chrome扩展程序发送hashmap?
  5. 计算机网络 | 网络基础 :网络协议,协议分层,数据封装与分用,地址管理,字节序
  6. 机器学习算法--ALS
  7. Spring Tool Suite 4 添加反编译插件
  8. mysql 视图 过程 函数_MySQL视图,函数,触发器,存储过程
  9. TensorFlow载入VGG并可视化每层
  10. 关于静态编译出现的问题以及解决方法
  11. iOS开发中常见的性能优化技巧
  12. java 并发变量_二、Java多线程编程 (对象及变量的并发访问)
  13. python入门经典代码-Python入门36道经典练习题
  14. springboot自动配置的原理
  15. vcpkg下载mysql库_VCpkg 开源库管理工具
  16. 机顶盒及编解码器的音视频质量评价测试
  17. 《智能搜索和推荐系统》总结
  18. 3 年9.9元,网站从HTTP升级到HTTPS
  19. 腾讯(大连)研发一面-20190620
  20. Compare线刷包与卡刷包

热门文章

  1. 牛客网dp专题 数位dp
  2. 【正睿2021寒假省选第二轮集训 day 1】串 (后缀自动机+记忆化)
  3. jzoj2940-生成输入数据【最小生成树,并查集】
  4. codeforces1559 D2. Mocha and Diana (Hard Version)(并查集+启发式合并+随机化)
  5. 7、java中的面向对象思想和体现
  6. 24、mysql连接线程的show和kill
  7. SpringCloud Gateway配置自定义路由404坑
  8. Spring Data之MongoDB配置
  9. 深入分析事务的隔离级别
  10. Java多线程:线程安全和非线程安全的集合对象