BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

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

| 作者 Abraham Marín Pérez 关注 8 他的粉丝 ,译者 谢丽 关注 9 他的粉丝 发布于 2016年6月24日. 估计阅读时间: 3 分钟 | Google、Facebook、Pinterest、阿里、腾讯 等顶尖技术团队的上百个可供参考的架构实例!

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

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

JSON Processing只是一个部分的解决方案,此外,它还比若干第三方工具出现得晚,其中包括2008年的Gson2009年的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

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT