layui绑定json_JSON绑定:概述系列

layui绑定json

JSON绑定的Java API(JSON-B)1.0增强了Java EE平台对JSON数据交换格式的整体支持。 事实证明, 用于JSON处理Java API(JSON-P)1.1十分流行,它们共同构成了完美的合作伙伴,填补了Java EE JSON功能的长期缺陷。

本系列的下一篇文章介绍了JSON绑定操作的自定义。

JSON-B规范将已经变得司空见惯的行业实践和方法进行了整理。 它大量使用注释来使用映射语义标记类和字段,并提供了处理复杂数据结构时经常需要的可扩展性。

开箱即用,它提供了符合合理期望的默认映射,用于序列化 序列化 。 可以使用两种定制方法来覆盖默认定制:

  1. 编译时间注释和
  2. 运行时配置构建器。

对于高级定制,API在运行时构建器和映射注释不足时提供适配器和序列化器/反序列化器

标题功能

该API的主要功能是以直观且易于使用的方式在Java类和JSON文档之间提供绑定支持 ,因此,不具备JSON知识的开发人员应该能够使用该API有效地进行开发。 对于那些具有其他JSON反序列化库(例如GSON和Jackson)的经验的人,会感到非常熟悉。

JSON-B API提供了两个入口点接口: Jsonb  JsonbBuilderJsonb接口通过toJson()fromJson()方法提供序列化和反序列化功能,而JsonbBuilder接口为客户端提供对Jsonb实例的访问点。 它基于一组可选配置来构建实例。

简单的例子

让我们来看一个简单的示例,该示例对Book.class的实例进行往返转换。

要开始序列化或反序列化,您需要一个Jsonb实例。 您可以通过在JsonBuilder接口上调用静态工厂方法create()创建 。 使用此实例,您可以通过选择适当的重载toJson()fromJson()方法来执行所需的所有序列化和反序列化操作。

在此代码段中,我调用了最简单的toJson()方法并将其传递给book对象。

Book book = new Book("SHDUJ-4532", "Fun with Java", "Alex Theedom");
String bookJson = JsonbBuilder.create().toJson(book);

此方法的返回值是一个String ,它是传递给toJson()方法的对象的JSON数据表示形式。

现在让我们将注意力转向反序列化操作。 它就像序列化一样简单,并且还需要Jsonb的实例。 在代码片段中,我调用了最简单的fromJson()方法,并将上一示例生成的JSON字符串传递给它,这是我要反序列化的JSON数据,并且它是目标类型,作为类类型。

String json = "{\"author\":\"Alex Theedom\"," +
               "\"id\":\"SHDUJ-4532\"," +
               "\"title\":\"Fun with Java\"}";
Book book = JsonbBuilder.create().fromJson(json, Book.class);

在这些示例中,我使用了Jsonb接口上可用的重载方法范围中最简单的toJson()fromJson()方法。 现在让我们更深入地研究一下如何定制序列化和反序列化过程。

现在,对JSON Binding API的介绍进行了总结,对JSON-B的了解更多。

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

layui绑定json

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值