转自: https://github.com/FasterXML/jackson
重要的是: jackson 支持 第三方数据类型 jsonobject jsonarray( json.org/java)
如下所说:
Active Jackson projects
Most projects listed below are lead by Jackson development team; but some by other at-large Jackson community members. We try to keep versioning of modules compatible to reduce confusion regarding which versions work together.
Core modules
Core modules are the foundation on which extensions (modules) build upon. These are three and they are known as:
Streaming (docs) ("jackson-core") defines low-level streaming API, and includes JSON-specific implementations
Annotations (docs) ("jackson-annotations") contains standard Jackson annotations
Databind (docs) ("jackson-databind") implements data-binding (and object serialization) support on streaming package; it depends both on streaming and annotations packages
Third-party datatype modules
These extensions are plug-in Jackson Modules (registered with ObjectMapper.registerModule()), and add support for datatypes of various commonly used Java libraries, by adding serializers and deserializers so that Jackson databind package (ObjectMapper / ObjectReader / ObjectWriter) can read and write these types.
Guava: support for many of Guava datatypes.
Hibernate: support for Hibernate features (lazy-loading, proxies)
Joda: support for types of Joda date/time library datatypes
JDK7: support for JDK 7 data types not included in previous versions
JDK8: support for JDK 8 data types not included in previous versions, including Optional (but excluding new Date types which are in JSR-310 module above)
JSR-310: support for "Java 8 Dates" (ones added in JDK 8)
Also, for pre-Java8 users can use "ThreeTen" module for backport on Java7
JSR-353: support for "Java JSON API" types (specifically, its tree model objects)
org.json: support for "org.json JSON lib" types like JSONObject, JSONArray
Yandex Bolts support for reading/writing types defined by Yandex Bolts collection types (Functional Programming inspired immutable collections)