Java JSON库Jackson 2.x新变化一览

《Java JSON库Jackson 2.x新变化一览》


Jackson库是JSON Java库,用于在Java程序中解析JSON数据。

Jackson库于2012.10.8号发布了最新的2.1版。由于有不少变化,这里做一个记录。

Jackson源码目前托管于GitHub,地址:https://github.com/FasterXML/

一、Jackson 2.x版库说明

Jackson 2.x版提供了三个JAR包供下载:

1. Core库:streaming parser/generator,即流式的解析器和生成器。
下载:

http://repo1.maven.org/maven2/com/fasterxml/jackson/core/jackson-core/2.1.0/jackson-core-2.1.0.jar


2. Annotations库:databinding annotations,即带注释的数据绑定包。
下载:
http://repo1.maven.org/maven2/com/fasterxml/jackson/core/jackson-annotations/2.1.0/jackson-annotations-2.1.0.jar

3. Databind库:ObjectMapper, Json Tree Model,即对象映射器,JSON树模型。
下载:
http://repo1.maven.org/maven2/com/fasterxml/jackson/core/jackson-databind/2.1.0/jackson-databind-2.1.0.jar

从Jackson 2.0起,
核心组件包括:jackson-annotations、jackson-core、jackson-databind。
数据格式模块包括:Smile、CSV、XML、YAML。


Jackson 1.9.10版的库有多种选择:

1. 单个库下载:提供了core-asl、mapper-asl、core-lpgl、mapper-lgpl、jax-rs、jax-xc、mrbean、smile等JAR包下载。

2. Jackson ALL库:包含了上面所有的JAR包,打包成了单个JAR文件。
下载:
http://jackson.codehaus.org/1.9.10/jackson-all-1.9.10.jar

3. Jackson Mini库:包含了jackson-core库,排除了注释库、许可证文件、用于使用受限的环境,比如移动设备,JAR包的尺寸显著减少。
下载:
http://jackson.codehaus.org/1.9.10/jackson-mini-1.9.10.jar

4. Smile Tool工具:一个命令行工具,用于在Smile格式和JSON格式之间相互转换。
下载:
http://jackson.codehaus.org/1.9.10/smile-tool-1.9.10.jar

注:Smile是二进制的JSON数据格式,等同于标准的JSON数据格式。Smile格式于2010年发布,于2010年9月Jackson 1.6版开始支持。

支持Smile格式的框架:

(1) Jackson JSON Processor:完全支持Smile格式,包括流式访问,数据绑定和树模型。

(2) libsmile:一个C语言库,支持读写Smile数据。

(3) Elastic Search:支持把Smile格式作为输入/输出的源。

(4) Protostuff:此项目支持Smile格式作为底层数据格式,也用于RPC的格式之一。



作者:chszs,转载需注明。作者博客主页:http://blog.csdn.net/chszs

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Caused by: org.apache.flink.shaded.jackson2.com.fasterxml.jackson.core.JsonParseException: Unexpected character ('i' (code 105)): was expecting double-quote to start field name at [Source: (byte[])"{id:1,name:luli}"; line: 1, column: 3] at org.apache.flink.shaded.jackson2.com.fasterxml.jackson.core.JsonParser._constructError(JsonParser.java:1840) at org.apache.flink.shaded.jackson2.com.fasterxml.jackson.core.base.ParserMinimalBase._reportError(ParserMinimalBase.java:712) at org.apache.flink.shaded.jackson2.com.fasterxml.jackson.core.base.ParserMinimalBase._reportUnexpectedChar(ParserMinimalBase.java:637) at org.apache.flink.shaded.jackson2.com.fasterxml.jackson.core.json.UTF8StreamJsonParser._handleOddName(UTF8StreamJsonParser.java:2020) at org.apache.flink.shaded.jackson2.com.fasterxml.jackson.core.json.UTF8StreamJsonParser._parseName(UTF8StreamJsonParser.java:1671) at org.apache.flink.shaded.jackson2.com.fasterxml.jackson.core.json.UTF8StreamJsonParser.nextFieldName(UTF8StreamJsonParser.java:1029) at org.apache.flink.shaded.jackson2.com.fasterxml.jackson.databind.deser.std.BaseNodeDeserializer.deserializeObject(JsonNodeDeserializer.java:249) at org.apache.flink.shaded.jackson2.com.fasterxml.jackson.databind.deser.std.JsonNodeDeserializer.deserialize(JsonNodeDeserializer.java:68) at org.apache.flink.shaded.jackson2.com.fasterxml.jackson.databind.deser.std.JsonNodeDeserializer.deserialize(JsonNodeDeserializer.java:15) at org.apache.flink.shaded.jackson2.com.fasterxml.jackson.databind.ObjectMapper._readTreeAndClose(ObjectMapper.java:4254) at org.apache.flink.shaded.jackson2.com.fasterxml.jackson.databind.ObjectMapper.readTree(ObjectMapper.java:2725) at org.apache.flink.formats.json.JsonRowDataDeserializationSchema.deserialize(JsonRowDataDeserializationSchema.java:103)
06-10

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值