Java EE 8包含JSON处理API的更新,并为最新的JSON标准提供最新的IEFT标准。他们是:

JSON Pointer (RFC 6901)

JSON Patch (RFC 6902)

JSON Merge Patch (RFC 7396)

入门

要开始使用JSON-P,您需要Maven中央存储库中的以下依赖项。

javax.json

javax.json-api

1.1

org.glassfish

javax.json

1.1

JSON-Pointer

JSON指针定义了一个字符串表达式,该表达式引用JSON文档的层次结构内的元素。通过JSON指针表达式,您可以通过检索,添加,删除和替换由表达式引用的元素或值来访问和操作JSON文档。

入口API是javax.json.JsonPointer接口。通过调用javax.json.Json  类上的静态工厂方法createPointer(String expression)并将其传递给指针表达式来创建实例。

检索一个值

如果下面给出了JSON文档,并且您想要检索title元素的值,则可以创建JSON指针表达式  /title。

{

"title": "Java EE: Only What's New",

"author": "Alex Theedom",

"chapters": [

"Chapter 1: Java EE 8 What’s New Overview",

"Chapter 2: Java API for JSON Binding 1.0 (JSR 367)",

"Chapter 3: Java EE Security API 1.0 (JSR 375)"

],

"released": true,

"pages": 300,

"sourceCode": {

"repositoryName": "Java-EE-8-Only-Whats-New",

"url": "github.com/readlearncode/"

},

"otherBooks": [

{

"title": "Professional Java EE Design Patterns",

"length": 350

}

]

}

JsonObject jsonObject = ... create JSONObject from JSON document ...;

下面的代码片段创建一个JsonPointer并引用title元素。然后它调用传递JsonObject来查询的getValue()方法。

JsonValue jsonValue = Json.createPointer(“/ title”)。getValue(jsonObject);

添加一个值

要向JSON文档添加(或插入)值,请遵循与检索相同的逻辑,方法是使用JSON指针表达式来标识文档中的插入点。以下代码片段将新的“category”:“Programming” JSON对象添加到文档的根目录。

JsonObject jsonObject = Json

.createPointer("/category")

.add(jsonObject, Json.createValue("Programming"));

返回的JsonObject是整个新的修改对象。

删除一个值

删除过程需要将删除的值的位置表示为JSON指针表达式。下面的代码片段删除title元素,并将修改的JSON文档作为JsonStructure实例返回

JsonStructure jsonStructure = Json.createPointer(“/ title”)。remove(jsonObject);

替换一个值

要替换要替换的元素的JSON指针表达式,并将替换元素传递给replace()方法。下面的代码片段替换title元素的值并返回修改后的JSON文档。

JsonStructure jsonStructure = Json

.createPointer("/title")

.replace(jsonObject, Json.createValue("Java EE 8"));

测试一个值

可以使用containsValue()方法测试某个位置存在的值。下面的代码片段测试以查看它在由JSON指针表达式/ doesNotExist表示的位置处有一个值。

Boolean containsValue = Json

.createPointer("/doesNotExist")

.containsValue(jsonObject);

总结结

上面这些,这就是关于JSON Processing新功能的第一篇文章。

java pointer_Java EE 8 JSON Pointer讲解相关推荐

  1. Java构造和解析Json数据的两种方法详解一

    在www.json.org上公布了很多JAVA下的json构造和解析工具,其中org.json和json-lib比较简单,两者使用上差不多但还是有些区别.下面首先介绍用json-lib构造和解析Jso ...

  2. java解析json_JAVA解析JSON数据

    在使用第三方api的使用,有时候会从网络中获得json数据,所以说我们将如何解析json数据? 下面小编将通过以下几点来进行json的讲解 JSON (JavaScript Object Notati ...

  3. java jsr_Java EE 7中包含哪些JSR?

    java jsr 我开始填写所有应该包含在Java EE 7中的Java规范请求的表. 由于仍在决定平台版本,因此某些细节很难确定. 完整的Java EE 7 EJB产品具有以下标准组件和API: 名 ...

  4. 用JAVA正则表达式轻松替换JSON中大字段

    用JAVA正则表达式轻松替换JSON中大字段 (一)背景 (二)正则表达式 (三)在JAVA代码中的实现 (四)合并正则表达式 (五)最终结果 (六)所感 (一)背景 在软件开发工作中我们经常用JSO ...

  5. JAVA SE 是什么? 入门级讲解。

    JAVA SE 是什么? 入门级讲解. JAVA SE(Java Standard Edition,Java 标准版) java se是Java技术的核心和基础,是Java ME和Java EE编程的 ...

  6. java创建ee项目_项目头像–下一个Java EE功能?

    java创建ee项目 又是一年中的这个时候. 圣诞节假期快到了,Java Advent Calender不断填满. 今天要写我的惊喜帖子. 我是Markus ,也称为@myfear , 多年来我一直在 ...

  7. java 嵌套对象转xml_Gson对Java嵌套对象和JSON字符串之间的转换 | 学步园

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,具有良好的跨平台特性.近几年来已经和XML一样成为C/S架构中广泛采用的数据格式.有关JSON的更多知识, ...

  8. JAVA中希尔排序去的讲解_java 中基本算法之希尔排序的实例详解

    java 中基本算法之希尔排序的实例详解 希尔排序(Shell Sort)是插入排序的一种.也称缩小增量排序,是直接插入排序算法的一种更高效的改进版本.希尔排序是非稳定排序算法.该方法因DL.Shel ...

  9. java 如何对由json对象构成的数组形式的字符串进行遍历?

    1.情景展示 现在已知字符串为: [{"name":"微微笑","img":"http://zos.alipayobjects.c ...

  10. MySQL 数据类型讲解 和Java中所对应的数据类型讲解

    MySQL 数据类型讲解 和Java中所对应的数据类型讲解 Mysql数据类型分类 在Mysql中常用数据类型一共有四种字符串数据类型.日期/时间数据类型.数值数据类型以及二进制数据类型. 一.字符串 ...

最新文章

  1. 软件测试学习:软件测试的背景
  2. 不容错过的8个持续集成工具
  3. JVM学习笔记之-JVM性能监控-JVM监控及诊断工具-命令行方式
  4. c 语言绘图函数,c语言图形编程(三、绘图函数-)(C language graphics programming (three, drawing function -)).doc...
  5. oracle sequrnce_Oracle Sqlldr简单用法
  6. 阿里云服务器linux系统上安装git版本控制系统
  7. PowerDesigner物理模型生成Excel文件
  8. 注册表添加 右键功能
  9. iOS系统突然故障卡死怎么办?快速解决不求人
  10. 【数据结构与算法】详解什么是哈希表,并用代码手动实现一个哈希表
  11. 东芝Toshiba DP-2210 打印机驱动
  12. pencil替代产品哪个品牌更好?推荐平替pencil
  13. 发现一个识图比较厉害的网站
  14. UE官网ARPG游戏学习笔记1
  15. cloudflare解析域名+CDN
  16. handler原子锁_spring-boot-starter-current-limiting
  17. 试着在unity实现阴阳师抽卡效果
  18. Spider爬虫--手机App抓包爬虫
  19. 基于 Self-hosted Debug 的调试
  20. element-ui中tree组件双击事件的实现

热门文章

  1. solr自带智能拼音收藏
  2. XP系统访问网页无法下载php,window_WinXP因配额不足导致无法访问如何解决,  WindowsXP系统虽然说是已经 - phpStudy...
  3. 面试一个应届生,从不起眼到令人刮目相看
  4. U盘装机大师安装GHOST WIN10系统
  5. python数字转英文_GitHub - Ailln/en2an: 快速转化「英文数字」和「阿拉伯数字」
  6. 零度飘逸LDPY GhostWin7 Sp1纯净选择版V7.0(驱动增强版)
  7. 自然语言处理系列四》新词发现与短语提取》新词发现
  8. 通过互联网进行远程桌面连接
  9. 请不要叫我小编,我是神圣的内容产品经理
  10. JScriptJQuery学习