写点什么

新 JSON 绑定库 JSON-B 发布公开预览版

  • 2016-06-23
  • 本文字数:958 字

    阅读完需:约 3 分钟

JSON-B 这个有望添加到 Java EE 8 的 JSON 绑定库发布了公开预览版。该库以 JSON Processing (不要同 JSONP 或 JSON-with-padding 混淆)为基础构建,旨在为诸如 Jackson Gson 这样的常见库提供一种标准的替代方案。不过,该 JSR 只针对 Java EE,也就是说,Java SE 的用户仍然需要使用第三方库。

为了提供一个 JSON 操作的 API,Java EE 7 于 2013 年引入了 JSON Processing 库。虽然 JSON-P 在操作和创建 JSON 对象时非常有用,但事实证明,它不足以满足开发人员的日常需求,他们需要一种更简单、更透明的方式,将一个普通的 Java 对象转换为 JSON,反之亦然。

JSON Processing 只是一个部分的解决方案,此外,它还比若干第三方工具出现得晚,其中包括 2008 年的 Gson 2009 年的 Jackson 。这些工具提供了多种集成机制来同其他 Java EE 组件,如 JAX-RS,交互,使得它们在 Web 开发中非常流行。然而,不同技术的传播让创建可移植的应用程序变得困难,标准化解决方案的需求日益凸显。这从 2014 年的 Java EE 8 社区调查就看出来了,投票结果显示,JSON 绑定工具成为 Java EE 新版本中优先级最高的特性。有鉴于此,针对 JSON-B 的 JSR 于那一年的 8 月被创建了出来,并计划在 2017 年上半年发布。

虽然社区对于这类功能有着强烈的需求,但该库面临的若干风险会妨碍它的应用。一方面,JSON Binding 可能出现的太晚了:当前在 2017 年发布的计划已经意味着比最初的计划延期了 6 个月,这也意味着, Java EE 8 本身也要延期 6 个月。不仅如此,对于这个行业来说,当前的时间表意味着 7 年的延期。

另一方面,Jackson 开发负责人 Tatu Saloranta 指出,基于 JSON Processing 限制了 JSON Binding 的应用范围和可扩展性。Saloranta 探讨了尝试基于 JSON-B 使用新标准重新实现 Jackson 的可能性,但几乎立刻就否定了这种可能性:

比如,这两点让实现 Jackson 或者基于 JSON-B 实现非常困难。除了全部的授权问题外,受限的范围和可扩展性意味着,Jackson 所做的许多工作,除了简单的 JSON 数据绑定外,将无法以一种兼容的方式提供。

这可能削弱了 JSON-B 所带来的好处,加重人们对于 Java EE 没有获得足够重视的担忧,就像 JCP 执行委员会最近一次会议所反映出来的那样,可能会导致 Java EE 的开发职责转移到社区。

查看英文原文 New JSON Binding Library Is Ready for Public Review

2016-06-23 19:003287
用户头像

发布了 1008 篇内容, 共 373.7 次阅读, 收获喜欢 340 次。

关注

评论

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

跨云厂商部署 k3s 集群

米开朗基杨

k3s wireguard

如何让企业的IT数据运维更有“烟火气”?

博睿数据

数据挖掘 学习 数据中台 运维 大屏可视化

flutter开发

InfoQ_1c4a1f813eb1

“技术是用的,不是喊的”区块链标准为电商引入“诚信管家”

CECBC

区块链技术 溯源 电商 防篡改 诚信管家

行业观察丨区块链如何与工业互联网深度融合

CECBC

区块链技术 工业互联网 分布式存储

能走出来的,都不叫困境

zkback

GitHub 热榜:一款堪称作业终结者的开源神器!

JackTian

GitHub 开源 工具类网站 学生党 Text-to-handwriting

Week3 命题作业

星河寒水

极客大学架构师训练营

架构师训练营 Week 03 关于反应式Web框架Flower

Wancho

2020年6月19日 服务器性能剖析

瑞克与莫迪

第三周作业

LEAF

游戏夜读 | 最常见的两种类型

game1night

移动终端智能卡与安全计算环境研究

石君

安全芯片 移动终端 终端安全

必知必会,程序员都应该会的Linux的50个知识点!

Java小咖秀

Linux 面试 运维 Shell 经验

【写作群星榜】6.12~6.19 写作平台优秀作者 & 文章排名

InfoQ写作社区官方

写作平台 排行榜 热门活动

培训机构出来的程序员常被鄙视,招谁惹谁了

程序员生活志

程序员 程序人生

Free space——区块链加密社交平台新秀之作

Geek_116789

当你输入get/set命令的时候,Redis做了什么

老胡爱分享

redis 源码分析

对不起,我爱你

小天同学

小说 爱情 情感

常年“佛系”Crysis勒索病毒突然变种 变身黑客工具合辑

360安全卫士

Zoom 妥协!对免费用户开放端到端加密服务

神经星星

音视频 Zoom 端到端加密 隐私保护 数据保护

运营系统架构文档

师哥

你真的了解敏捷吗?听马丁福勒聊敏捷

涛哥 数字产品和业务架构

敏捷 数字化转型

还在埋头干活?给程序员的几个忠告

四猿外

Java 深度思考 程序员 随笔杂谈

Facebook 起诉水军公司:删不过来,我还告不过来吗?

神经星星

facebook 亚马逊云 AWS Lightsail 水军 虚假评论

架构师训练营-week01 学习总结

GunShotPanda

antdesign table 设置默认选中行且不可编辑

张张张小烦

系统设计(4)-请设计一个线程安全的HashMap

程序员老王

系统设计

ARTS - Week Five

shepherd

Java algorithm

数据库如何弹性伸缩?

Aaron_涛

数据库 架构 云原生

区块链的未来,公链回归

CECBC

区块链技术 联盟链 公链 底层技术

新JSON绑定库JSON-B发布公开预览版_Java_Abraham Marín Pérez_InfoQ精选文章