写点什么

JSON-P 1.1 现已发布公开预览版

  • 2017-03-14
  • 本文字数:1902 字

    阅读完需:约 6 分钟

JSR 374(JSON-P 1.1 版本)的公开预览版现在已经开放,JSON-P 是一个针对处理 JSON 的 Java API。这个版本有望和 JSON 绑定库(JSON-B)的 Java API 一同被添加到 Java EE 8 的发布版本中,并且它还保持了 JSON-P 当前所支持的 JSON IETF标准。它提供了如下支持:

在 2013 年,JSON-P 作为 Gson Jackson 的替代方案,被引入到 J2EE 7 的发布版本中。它被设计用于解析、生成和查询标准的 JSON 文档。

JSR-367 是 JSON 绑定库的 Java API,它也被纳入了 Java EE 8 的发布版本中。JSON-B 被设计用来将 JSON 与 Java 中的对象绑定起来。InfoQ 对之前 JSON-B 公开预览版的发布也有过报道

入门指南

我们先从 JSON-P 的解析器(Parser)和指针(Pointer)的一个例子开始入门,考虑如下的 JSON 文档:

复制代码
[
{
"publication":"New Vaadin Spring Release Introduces Enhanced View Management",
"publicationDate":"2016-12-30 00:00:00",
"author":"Michael Redlich",
"publicationType":"Article",
"publisher":"C4Media"
},
{
"publication":"Pivotal Releases First Milestone of Next-Generation Spring Data Featuring Reactive Database Access",
"publicationDate":"2017-01-19 00:00:00",
"author":"Michael Redlich",
"publicationType":"Article",
"publisher":"C4Media"
},
{
"publication":"Netflix Introduces Hollow, a Java Library for Processing In-Memory Datasets",
"publicationDate":"2017-01-31 00:00:00",
"author":"Michael Redlich",
"publicationType":"Article",
"publisher":"C4Media"
}
]

这个 JSON 文档可以使用JsonParser进行解析:

复制代码
InputStream fis = new FileInputStream(JSON_FILE);
JsonParser parser = Json.createParser(fis);
while(parser.hasNext()) {
JsonParser.Event event = parser.next();
switch(event) {
case START_ARRAY:
case END_ARRAY:
case START_OBJECT:
case END_OBJECT:
case VALUE_FALSE:
case VALUE_NULL:
case VALUE_TRUE:
System.out.println(event.toString());
break;
case KEY_NAME:
System.out.print(event.toString() + " " + parser.getString() + " - ");
break;
case VALUE_STRING:
case VALUE_NUMBER:
System.out.println(event.toString() + " " + parser.getString());
break;
}
}
fis.close();

通过使用JsonPointer,我们能够找到 JSON 文档中的特定元素:

复制代码
InputStream fis = new FileInputStream(JSON_FILE);
JsonReader jsonReader = Json.createReader(fis);
JsonArray jsonArray = jsonReader.readArray();
JsonPointer pointer = Json.createPointer("/1/publication");
JsonValue publication = pointer.getValue(jsonArray);
System.out.println(i + ": " + publication);
fis.close();

这个例子中找到并且显示出了上述 JSON 文档中的第二个 publication。我们在 GitHub 上准备了一个完备的实例程序,其中包括 JSON-P、Gson 以及 Jackson。

最新的 JSON-P 1.1规格书能够在 JSR-374 网站下载到。

大名鼎鼎的Java EE 传播者 Reza Rahman 最近发布了一篇博客,他在其中阐述了 JSON 在 Java EE 8 中起到的作用:

这两个 API 对于加强 JSON 在 Java 中的地位至关重要,就像 JAXP(处理 XML 的 Java API)和 JAXB(XML 绑定库的 Java API)在许多年前所起的作用一样。通过这两个 API,Java 开发者可以简单地将 JSON 视为另一种 Java 序列化格式。不需要过多的第三方库和配置了:JSON 处理变得极其简单。在我看来,这些 API 非常关键,它们应该被纳入一个模块化的 Java SE 版本中,就像是 JAXB 和 JAXP 已经成为了 Java SE 中的一部分一样。

JSON-P 和 JSON-B 的最终版本有望在 2017 年 4 月发布。

其它资源

关于 JSON-P 的其它更多信息请访问如下资源:

查看英文原文: Public Review of JSON-P Specification 1.1 is Now Open


感谢薛命灯对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2017-03-14 19:002406

评论

发布
暂无评论
发现更多内容

懒懒笔记 | 课代表带你梳理【RAG课程 11&12:优化和加速你的RAG】

商汤万象开发者

AI LLM rag实战

就医体验飙升的背后,是CPU在“悄悄打工”?

E科讯

【6.12 直播】内存泄漏怎么办?时序数据库 IoTDB 官方避坑指南“面对面”告诉你!

Apache IoTDB

DirectX 修复工具增强版:Direct 官方中文修复利器免费下载

小焱

dll DLL库 directx directx不兼容 dll缺失

BaikalDB 架构演进实录:打造融合向量化与 MPP 的 HTAP 查询引擎

百度Geek说

MPP 分布式数据 MPP 架构 向量化引擎

鸿蒙Next仓颉语言开发实战教程:店铺详情页

幽蓝计划

4种比常见的线程池和线程同步买票问题

量贩潮汐·WholesaleTide

Java Python

2026深圳电子展,中国(深圳)国际电子信息展览会

AIOTE智博会

电子展 深圳电子展 电子信息展 电博会

焱融存储成为 AMD 中国行业生态共建计划首批合作伙伴

焱融科技

人工智能 AMD AMD EPYC 处理器 焱融全闪存储

腾讯云TencentOS Server AI,助力荣耀打造高性能AI底座

极客天地

图解JavaScript原型:原型链及其分析 | JavaScript图解

电子尖叫食人鱼

JavaScript

AWS EKS 集群日志上报观测云实践

观测云

aws lambda

吴恩达:AI 被过度炒作,但语音 AI 产品却被低估;ChatGPT 升级语音翻译功能丨日报

声网

摩尔线程重磅亮相2025北京智源大会,传递国产算力发展加速度

新消费日报

内网IM选型逻辑:企业为何青睐自研或外采私有化IM

BeeWorks

即时通讯 IM

深入研究:shopee商品列表API接口指南

tbapi

shopee商品列表接口 shopee数据采集 shopee接口

Framework失败问题,全面整理.NET Framework 各种安装失败及异常情况

小焱

Framework

报名启动|隐语开源社区Meetup大湾区站 x 数据安全沙龙来啦

隐语SecretFlow

数据安全 隐私计算 数据流通 数据要素流通

BOE(京东方)“照亮成长路”公益项目新十年启幕 科技无界照亮美好未来

科技热闻

华为云重磅亮相 KubeCon China 2025 ! 精彩议程一览

华为云开源

开源 云原生 华为云

实时多模态如何重塑未来交互?我们邀请 Gemini 解锁了 39 个实时互动新可能丨Voice Agent 学习笔记

声网

DJ舞台设计:重塑电子音乐体验

Dylan

Dj LED显示屏 全彩LED显示屏 led显示屏厂家 舞台表演

小程序容器驱动SuperApp生态:下一代前端技术范式

xuyinyin

2025全球人形机器人领域深度报告:人形机器人、具身智能技术、商业化壁垒、产业链公司及投资分析

机器人头条

科技 大模型 人形机器人 具身智能

AI实时对话开启粉丝互动新时代

腾讯云音视频

人工智能 腾讯云 实时音视频 trtc AI实时对话

短信验证码服务最佳实践:个人开发者如何选择和集成现代化短信服务

外滩运维专家

HTAP 技术:融合事务与分析的数据处理新范式

镜舟科技

OLAP OLTP HTAP 数据库架构 实时分析

中烟创新智能稽核平台:为烟草行业定制的数字化风控引擎

中烟创新

加速数字化转型:低代码平台在关键业务领域的四大高效落地场景

不在线第一只蜗牛

低代码

组件库实战-基建思路

溪抱鱼

typescript Vue Rest

准确率从 19% 提升至 95%!文本审核模型优化的三个阶段实践(下)

亚马逊云科技 (Amazon Web Services)

JSON-P 1.1现已发布公开预览版_Java_Michael Redlich_InfoQ精选文章