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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/333557.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

英文单词的音节分类

绝对开音节 以发音的元音字母结尾的叫绝对开音节,且这个元音字母发的是自己本音。例如:he /hi:/ 和 go /gəu/ 相对开音节 一个辅音字母加上不发音的元音字母(通常是字母 e)结尾的叫相对开音节,其实就是以不发音的元…

java捕捉了异常_java 异常捕获与异常处理

try{会产生异常的代码}catch(出现异常的类型 e){异常出现后处理的方法}一旦异常出现又没有异常处理,程序就会中断。public static void main(String[] args) {try {int num 10 / 0;System.out.println(num);} catch (ArithmeticException e) {System.out.println(&…

2018年4月13日_Java的最新发展– 2018年4月下旬

2018年4月13日本周Java领域有一些最新的发展,我在本文中总结了其中的一些。 我们知道的JavaOne的终结 Stephen Chin在帖子“ JavaOne活动扩展了更多的曲目,语言和社区,并有了新名称 ”中写道:“ JavaOne会议正在扩展,…

Windows 系统下通过命令将本地文件上传至远程 Linux 主机的指定目录下

这里是借助文件传输客户端 putty 的命令来上传文件。 第一步:下载安装 putty 第二步:通过命令终端进入 putty 的主目录下,即进入 D:\puggy 目录下,该目录下含有多个可执行文件(以 .exe 为后缀名的文件) 第…

java读取codetable_解析Java对象的equals()和hashCode()的使用

解析Java对象的equals()和hashCode()的使用前言在Java语言中,equals()和hashCode()两个函数的使用是紧密配合的,你要是自己设计其中一个,就要设计另外一个。在多数情况 下,这两个函数是不用考虑的,直接使用它们的默认设…

jvm体系结构_JVM体系结构:JVM中的执行引擎

jvm体系结构各位读者好! 在JVM系列的上一篇文章中,开发人员了解了虚拟机的ClassLoader和Runtime Data Areas组件。 本教程将帮助开发人员正确理解JVM中的执行引擎 。 1.简介 在继续之前,让我们看一下Java虚拟机及其基本特征。 1.1什么是Jav…

如何才能不改变图片的像素大小,只改变图片的文件大小

如图,有一张这样的图片,我们需要对它进行压缩: 处理前该图片的像素尺寸和文件大小如图所示: 接着我们使用PS打开该图片,如果不想改变尺寸大小,只改变文件大小。点击菜单【文件】->【存储为web和设备所…

java通用编码规范考试_《java编码规范考试题答案》.doc

一、单选题1. 如下关于集合类的描述错误的是 BA. 含有集合意义的属性命名,尽量包含其复数的意义B. 集合中的数据不需要释放,垃圾回收器会自动回收C. 集合必须指定模板类型D. 使用集合类时要设置初始化容量2. 关于线程以下说法错误的有BA. 新起一个线程&a…

Alfred 功能组合键/快捷键

文章目录快捷键如何设置呼出热键参考文章快捷键 快捷键说明Fn在选中的文件或者目录上点击 Fn 键可以触发其额外的操作,可以在【Actions】里面进行配置Command Enter可以进入当前文件所在的文件夹中Space 搜索词查找指定相关的文件,选中后按回车打开此…

vaadin教程_Vaadin教程

vaadin教程1.简介 当您是后端开发人员时,您会听到别人说您无法创建内置HTML的UI页面并且无法在CSS中设置样式而引起的痛苦。 就像成为后端开发人员一样,它具有已知的局限性,即我们可以播放和运行大型生产后端应用程序,但不能创建漂…

c 和java互相验签_C椭圆曲线签名 用java验签

C椭圆曲线签名 用java验签,java应该用什么类,new X509EncodedKeySpec( hex2Bytes(publicKey) ) 一直报错签名:294236F3FEA929A45A3544A40BE7546CCE71DD52B5B488C12C05A440440B21120C3F127FE4B53326DCE1AAE393B36EB1B57C09EF7B3230760F5C493F6…

混合多云架构_使用混合多云每个人都应避免的3个陷阱(第3部分)

混合多云架构每天都在肆意宣传云,但每个人都应避免三个陷阱。 从云,混合云到混合多云,您都被告知这是确保业务数字化未来的一种方式。 您必须做出的这些选择不会排除提高客户体验和敏捷交付这些应用程序的日常工作。 让我们开始一段旅程&am…

MacOS的Automator(自动操作)实用案例详解/自定义程序/自定义服务

文章目录创建新建文本文件的服务创建批量开启多个应用程序的服务创建批量开启多个应用程序的程序创建退出所有程序的服务如何删除/隐藏创建的服务删除服务隐藏服务创建新建文本文件的服务 打开 Automator 后,选择「快速操作」后,点击下方按钮「选取」&a…

用来编译java源文件的工具_基于阿里开源yugong工具类,动态编译Java源文件

适用场景:Java应用满足用户自定义需求场景实例代码:测试用例(DynamicCompileTest)package com.taobao.yugong.common;import java.io.IOException;import java.util.List;import junit.framework.Assert;import org.apache.commons.io.IOUtils;import or…

MacOS 下如何创建文本文件

文章目录通过 MacOS 自带的 Automator 创建自动化服务程序实用 Finder 扩展工具 - New File Menu通过 MacOS 自带的文本编辑程序创建通过 MacOS 自带的 Automator 创建自动化服务程序 欲知此方法请猛戳《MacOS 的 Automator 实用案例详解》 实用 Finder 扩展工具 - New File …

jdk12源代码文件_在JDK 11中启动单文件源代码程序

jdk12源代码文件JEP 330 –启动单文件源代码程序是即将发布的JDK 11(18.9)发行版中令人兴奋的功能之一。 此功能允许直接使用java解释器执行Java源代码。 源代码在内存中编译,然后由解释器执行。 限制是必须在同一文件中定义所有类。 对于刚…

java控制图片移动_多线程控制图片移动

帮忙看下为什么图片没有显示 图片目录在src 下的image 文件夹中package com.thread;import java.awt.EventQueue;import javax.swing.ImageIcon;import javax.swing.JFrame;import javax.swing.JLabel;public class SleepDemo extends JFrame implements Runnable {private JLa…

Linux 命令之 cut -- 分割字符串,显示或删除指定字段的内容,合并文件内容

文章目录一、命令介绍二、常用选项三、命令示例根据指定的字节范围显示指定文件中的内容指定字段分隔符,显示指定字段的内容显示指定字段的内容根据指定的字符范围显示指定文件中的内容显示指定字段以外的字段的内容以指定的输出分隔符来分割输出内容中的字段合并多…

java 抛异常 jvm_邪恶的Java技巧使JVM忘记检查异常

java 抛异常 jvm我长期以来一直在批评Java中编译器检查异常的机制。 无论您是爱还是恨,都可以肯定一件事:在某些情况下,您不想与他们打交道。 Java中的解决方案是将一个检查后的异常包装在new RuntimeException(e)但这可以提供较长的堆栈跟踪…

java空文本_输出到文本文件,控制台为空-Java

首先,您必须创建一个从OutputStream接口继承的类以实现适配器模式(我不确定是否是adapter)那么您可以使用该类作为波纹管主要PrintStream finalStream;TreeOutputStream tos;PrintStream out;out new PrintStream("logs.txt");tos new TreeOutputStream();tos.add(…