当前位置 : 主页 > 网络编程 > 其它编程 >

教程|JSON处理1.1:JSON指针挑战和应对

来源:互联网 收集:自由互联 发布时间:2023-07-02
【IT168技术】从JSON-P1.1API中直接得到的新JSON指针能做什么?本文将介绍一个挑战和相应的解释。在下图所示的代码片段中给出了JSON文档直接得到的新JSON指针能做什么?本文将介绍一个挑战
【IT168技术】从JSON-P1.1API中直接得到的新JSON指针能做什么?本文将介绍一个挑战和相应的解释。在下图所示的代码片段中给出了JSON文档直接得到的新JSON指针能做什么?本文将介绍一个挑战和相应的解释。

在下图所示的代码片段中给出了JSON文档使用JSON-P 1.1的JSON指针特性的结果是什么?

18d6e365a37c2c3fc66f7bdf07fd2003.png

JSON对象的新形状如下图所示

ce7963c7241123ecf19424d316f95555.png

什么是JSON指针?

JSON指针是JSON处理1.1 API中的一个新功能并可以使用最新的IEFT标准JSON指针进行更新。这个更新的API是Java EE 8发行版本的一部分。

那么JSON指针到底是个什么呢?一个JSON指针定义了一个字符串表达式用它来标识JSON文档中的特定值。这与XPointer用于识别XML文档中的片段功能类似。

JSON指针活动

鉴于下图所示的JSON文档类似数组中的第一个元素将通过JSON指针表达式来引用/ likes / 0。

cedd69679c5ae3caeb918f30e9642805.png

这里指的是元素值Java。

如何使用JSON指针

入口API是JsonPointer接口。通过调用Json类的静态工厂方法createPointer()来创建一个实例。下面的代码片段创建了一个JsonPointer并引用了like数组中的第二个元素

JsonPointer pointer Json.createPointer("/likes/0");

JsonPointer API也可以通过添加、替换和删除属性来改变JSON文档。

下面的代码片段将值“Java EE 8”添加到like列表中

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

在下面代码片段中替换了第三个索引位置处的值

pointer Json.createPointer("/likes/2");

JsonObject newJsonObject pointer.replace(jsonObject, Json.createValue("Ice Cream"));

把它们放在一起就有了添加like数组的元素和替换的代码。完整的代码片段如下图所示

42d221dc30bcbe73962738755f4b98de.png

代码片段的结果输出是

75df3673513472d93f4081ffaa158577.png

网友评论