Clone this repo:
  1. 17f0b0d Merge "Add platform/tools/apksig to OWNERS" into main by Treehugger Robot · 6 weeks ago main master
  2. 116cc90 Add platform/tools/apksig to OWNERS by Matt Gilbride · 8 weeks ago
  3. cc59a37 Pin tradefed dependencies to Java 11 am: 2a67855fa4 am: 1c77565908 am: f119c63be6 am: 5a54cbc8c2 am: d822c1677c by Frank Feng · 1 year, 2 months ago android14-qpr2-release android14-qpr2-s1-release android14-qpr2-s2-release android14-qpr2-s3-release android-14.0.0_r29 android-14.0.0_r30 android-14.0.0_r31 android-14.0.0_r32 android-14.0.0_r33
  4. 4eda72d Pin tradefed dependencies to Java 11 am: 2a67855fa4 am: 1c77565908 am: f119c63be6 am: 5a54cbc8c2 am: 6e48208816 by Frank Feng · 1 year, 2 months ago
  5. 6e48208 Pin tradefed dependencies to Java 11 am: 2a67855fa4 am: 1c77565908 am: f119c63be6 am: 5a54cbc8c2 by Frank Feng · 1 year, 2 months ago android14-qpr1-release android14-qpr1-s2-release android-14.0.0_r16 android-14.0.0_r17 android-14.0.0_r18 android-14.0.0_r19 android-14.0.0_r20 android-14.0.0_r21 android-14.0.0_r22 android-14.0.0_r23 android-14.0.0_r24 android-14.0.0_r25 android-14.0.0_r26 android-14.0.0_r27

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. For additional/alternative licensing questions, please contact info@fasterxml.com: affordable commercial licenses available for use cases like Android app development.

Alternate data format implementations (like Smile (binary JSON), XML, CSV) 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 is available from Codehaus SVN repository.

Build Status Maven Central Javadoc Coverage Status

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-core-version}</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 or Wiki.

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


Further reading

Differences from Jackson 1.x

Project contains versions 2.0 and above: source code for earlier (1.x) versions is available from Codehaus SVN repository

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)

Links