写点什么

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

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

关注

评论

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

阿里大神级 最新Elasticsearch 笔记,抓紧学起来!

冉然学Java

elasticsearch 编程 分布式 java; 程序员、

JOIN查询时,我为什么建议你将小表放在前面?(NLJ,SNL,BNL算法全面解析)

董哥的黑板报

MySQL 数据库 后端 服务端 db

STM32+果云GA6-GPRSGSM模块+MQTT+HTTP协议连接中移OneNet上传GPS数据定位

DS小龙哥

8月月更

从 VLAN 到 IPVLAN: 聊聊虚拟网络设备及其在云原生中的应用

阿里巴巴云原生

Linux 阿里云 云原生 容器服务 IPVLAN

基于 OPLG 从 0 到 1 构建统一可观测平台实践

阿里巴巴云原生

阿里云 分布式 云原生 可观测 全链路

IPv6地址规划

穿过生命散发芬芳

ipv6 8月月更

4K详解Linux内核——环境搭建

了不起的程序猿

数据库 程序员 系统 linux security

开源一夏 | 自从我使用HiFlow场景连接器后,在也不用担心成为“落汤鸡”了

叶秋学长

开源 8月月更 Hiflow

迄今为止见过最详细的零拷贝技术讲解

C++后台开发

后端开发 零拷贝 Linux服务器开发 C/C++后台开发 C/C++开发

Kubernetes 虚拟机部署弊端

CTO技术共享

开源 签约计划第三季 8月月更

Kubernetes 集群 Ingress 网关

CTO技术共享

开源 签约计划第三季 8月月更

设备树

贾献华

8月月更

今天面了个腾讯拿38K出来的大佬,让我见识到了Java面试八股文的天花板

Java全栈架构师

Java 数据库 spring 程序员 面试

Web网页端IM产品RainbowChat-Web的v4.1版已发布

JackJiang

html5 前端 websocket 即时通讯 IM

Spring(二、配置文件)

开源 bean Spring JPA 8月月更

Kubernetes日常故障解决

CTO技术共享

开源 签约计划第三季 8月月更

兆骑科创双创服务平台,创新创业高层次人才引进,投融资对接

兆骑科创凤阁

兆骑科创创新创业大赛承办,线上直播路演,企业孵化

兆骑科创凤阁

1500字简述 Apache ZooKeeper 的基本原理

wljslmz

Apache zookeeper 分布式 8月月更

阿里SpringCloudAlibaba实战小抄(第五版)GitHub独家首发开源

冉然学Java

GitHub 开源 springcloudAlibaba spring-boot

阿里技术大牛亲自编写,将高难度的Java高并发知识讲解得浅显易懂

了不起的程序猿

STM32的启动过程 — startup_xxxx.s文件解析(MDK和GCC双环境)

矜辰所致

stm32 arm 8月月更 stm32启动流程 startup_xxxx.s

一个可以提前结项的敏捷项目

Bruce Talk

敏捷 Agile 敏捷项目

Istio的扩展和定制

阿泽🧸

istio 8月月更

阿里巴巴2022全新出品亿级并发设计速成宝典(系统拆分,缓存,MQ,读写分离,分布分表,ES扩容应有尽有)

程序员小毕

Java 程序员 面试 后端 高并发

MySQL存储引擎

武师叔

8月月更

阿里内部高并发核心编程笔记:多线程、锁、JMM、JUC、设计模式

冉然学Java

JMM 设计模式 java; 多线程高并发

深入浅出边缘云 | 5. 运行时控制

俞凡

架构 边缘计算 网络 深入浅出边缘云

阿里架构师力推jvm架构解析文档,把JVM调优实战讲的明明白白

Java工程师

Java JVM GC

Kubernetes 污点和容忍

CTO技术共享

开源 签约计划第三季 8月月更

从没见过能把高并发拆解的这么详细!阿里巴巴这份堪称神级的“高并发”教程太香了

Java永远的神

Java 程序员 架构 面试 高并发

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