jackson-core

Core part of Jackson that defines Streaming API as well as basic shared abstractions

Github星跟蹤圖

Overview

This project contains core low-level incremental ("streaming") parser and generator abstractions used by
Jackson Data Processor.
It also includes the default implementation of handler types (parser, generator) that handle JSON format.
The core abstractions are not JSON specific, although naming does contain 'JSON' in many places, due to historical reasons. Only packages that specifically contain word 'json' are JSON-specific.

This package is the base on which Jackson data-binding package builds on.
It is licensed under Apache License 2.0.

Alternate data format implementations (like
Smile (binary JSON),
XML,
CSV,
Protobuf,
and CBOR)
also build on this base package, implementing the core interfaces,
making it possible to use standard data-binding package regardless of underlying data format.

Project contains versions 2.0 and above: source code for earlier (1.x) versions can be found from
Jackson-1 github repo.

Status

Build Status
Maven Central
Javadoc
Tidelift

Get it!

Maven

Functionality of this package is contained in
Java package com.fasterxml.jackson.core.

To use the package, you need to use following Maven dependency:

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-core</artifactId>
    <version>${jackson.version.core}</version>
</dependency>

or download jars from Maven repository or links on Wiki.
Core jar is a functional OSGi bundle, with proper import/export declarations.

Package has no external dependencies, except for testing (which uses JUnit).

Non-Maven

For non-Maven use cases, you download jars from Central Maven repository.

Core jar is also a functional OSGi bundle, with proper import/export declarations, so it can be use on OSGi container as is.


Use it!

General

Usage typically starts with creation of a reusable (and thread-safe, once configured) JsonFactory instance:

JsonFactory factory = new JsonFactory();
// configure, if necessary:
factory.enable(JsonParser.Feature.ALLOW_COMMENTS);

Alternatively, you have a ObjectMapper (from Jackson Databind package) handy; if so, you can do:

JsonFactory factory = objectMapper.getFactory();

Usage, simple reading

All reading is by using JsonParser (or its sub-classes, in case of data formats other than JSON),
instance of which is constructed by JsonFactory.

An example can be found from Reading and Writing Event Streams

Usage, simple writing

All writing is by using JsonGenerator (or its sub-classes, in case of data formats other than JSON),
instance of which is constructed by JsonFactory:

An example can be found from Reading and Writing Event Streams


Support

Community support

Jackson components are supported by the Jackson community through mailing lists, Gitter forum, Github issues. See Participation, Contributing for full details.

Enterprise support

Available as part of the Tidelift Subscription.

The maintainers of jackson-core and thousands of other packages are working with Tidelift to deliver commercial support and maintenance for the open source dependencies you use to build your applications. Save time, reduce risk, and improve code health, while paying the maintainers of the exact dependencies you use. Learn more.


Further reading

Differences from Jackson 1.x

Project contains versions 2.0 and above: source code for the latest 1.x version (1.9.13) is available from
FasterXML/jackson-1 repo (unmaintained).

Note that the main differences compared to 1.0 core jar are:

  • Maven build instead of Ant
  • Annotations carved out to a separate package (that this package depends on)
  • Java package is now com.fasterxml.jackson.core (instead of org.codehaus.jackson)
  • Project Wiki has JavaDocs and links to downloadable artifacts
  • Jackson (portal) has links to all FasterXML-maintained "official" Jackson components
  • Jackson Docs is the portal/hub for all kinds of Jackson documentation

主要指標

概覽
名稱與所有者FasterXML/jackson-core
主編程語言Java
編程語言Shell (語言數: 4)
平台
許可證Apache License 2.0
所有者活动
創建於2011-12-23 02:00:51
推送於2025-06-09 04:33:24
最后一次提交
發布數165
最新版本名稱jackson-core-3.0.0-rc5 (發布於 2025-05-22 09:37:07)
第一版名稱jackson-core-2.0.0 (發布於 2012-03-25 11:54:23)
用户参与
星數2.3k
關注者數158
派生數812
提交數3.1k
已啟用問題?
問題數765
打開的問題數42
拉請求數513
打開的拉請求數4
關閉的拉請求數116
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?