产品战略专家梁宁确认出席AICon北京站,分享AI时代下的商业逻辑与产品需求 了解详情
写点什么

新 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:003386
用户头像

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

关注

评论

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

天翼云打造国云安全品牌 铸牢企业云上安全防线

Geek_2d6073

易观千帆《银行APP用户体验分析白皮书》重磅首发,助力银行打造获客新增长点

易观分析

金融 银行

融云 2022 社交泛娱乐出海嘉年华,邀你一起「超浪」!

融云 RongCloud

IT 程序猿 社交娱乐

只需搞定Docker,环境问题再也不是测开路上的『坑』

霍格沃兹测试开发学社

如何利用 xUnit 框架对测试用例进行维护?

霍格沃兹测试开发学社

如何用Sonic云真机打王者

霍格沃兹测试开发学社

Java线程池创建方式和应用场景

Java快了!

线程池 java;

基于 Spring Boot 的 RESTful API 设计与实现

霍格沃兹测试开发学社

大话测试数据(一)

霍格沃兹测试开发学社

学习Docker就应该掌握的dockerfile语法与指令

霍格沃兹测试开发学社

实战 | JMeter 典型电商场景(下单/支付)的性能压测

霍格沃兹测试开发学社

IDaaS系统方舟一账通ArkID内置OIDC认证插件配置流程

龙归科技

Idaas OIDC ArkID

C#/VB.NET: 为Excel表格添加超链接

Geek_249eec

C# Excel VB.NET 超链接

小六六学Netty系列之再遇Netty

自然

Netty 网络 9月日更

小六六学Netty系列之编解码器和handler的调用机制

自然

Netty 网络 9月月更

内卷时代下的前端技术-使用JavaScript在浏览器中生成PDF文档

葡萄城技术团队

前端 PDF JavaScrip

Linux系统安装Nginx

nginx Linux tree 9月月更

最佳实践|用腾讯云AI图像搜索打造属于自己的拍立淘

牵着蜗牛去散步

腾讯 图像搜索 腾讯云AI 小程序商城 AI技术实践

基于Requests与mitmproxy打造迷你接口测试框架

霍格沃兹测试开发学社

如何做好性能压测(一):压测环境的设计和搭建

霍格沃兹测试开发学社

实战 | UI 自动化测试框架设计与 PageObject 改造

霍格沃兹测试开发学社

大话JMeter2|正确get参数传递和HTTP如何正确使用

霍格沃兹测试开发学社

阿里云一站式专家测试服务,护航APP线上质量,发版无忧

移动研发平台EMAS

阿里云 移动测试 限时活动

软件测试 | 测试开发 | MySQL锁机制总结

测吧(北京)科技有限公司

同样是断言,为何 Hamcrest 如此优秀?

霍格沃兹测试开发学社

Python基础(二) | Python的基本数据类型

timerring

Python 9月月更

后端Web开发框架(Java)

霍格沃兹测试开发学社

大话JMeter4|不同的并发数可以自动化做压测吗?

霍格沃兹测试开发学社

实战 | 基于JMeter 完成典型电商场景(首页浏览)的性能压测

霍格沃兹测试开发学社

史上最全 Appium 自动化测试从基础到框架实战精华学习笔记(一)

霍格沃兹测试开发学社

谈安全测试的重要性

京东科技开发者

漏洞 软件系统 安全测试 网络安全渗透测试

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