Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

A pluggable BSON generator and parser for Jackson JSON processor.

branch: master
README.rst

BSON for Jackson

This library adds support for BSON to the Jackson JSON processor.

BSON is a binary representation of JSON. It has gained prominence by its usage as the main exchange and persistence format of the document-oriented database management system MongoDB.

Usage

The bson4jackson library integrates completely into Jackson. Please have a look at the Jackson wiki for a complete description. For more information you may also have a look at the bson4jackson tutorial.

The BSON specification defines some additional types not available in the original JSON specification. These types are mapped to simple wrapper objects.

Download

bson4jackson binaries are available from the GitHub Releases page.

You may also use Maven to download bson4jackson:

<dependencies>
  <dependency>
    <groupId>de.undercouch</groupId>
    <artifactId>bson4jackson</artifactId>
    <version>2.3.1</version>
  </dependency>
</dependencies>

If you're using Gradle, you may add the following snippet to your build.gradle:

dependencies {
    compile 'de.undercouch:bson4jackson:2.3.1'
}

For sbt, add the following line to your project:

val bson4jackson = "de.undercouch" % "bson4jackson" % "2.3.1"

For buildr use the following snippet:

compile.with 'de.undercouch:bson4jackson:jar:2.3.1'

Compatibility

bson4jackson 2.x is compatible to Jackson 2.x and higher. Due to some compatibility issues both libraries' major and minor version numbers have to match. That means you have to use at least bson4jackson 2.1 if you use Jackson 2.1, bson4jackson 2.2 if you use Jackson 2.2, etc. I will try to keep bson4jackson up to date. If there is a compatibility issue I will update bson4jackon, usually within a couple of days after the new Jackson version has been released.

Here's the compatibility matrix for the current library versions:

Library Jackson 2.3.x Jackson 2.2.x Jackson 2.1.x
bson4jackson 2.3.x Yes Yes Yes
bson4jackson 2.2.x No Yes Yes
bson4jackson 2.1.x No No Yes

If you're looking for a version compatible to Jackson 1.x, please use bson4jackson 1.3.0. It's the last version for the 1.x branch. bson4jackson 1.3.0 is compatible to Jackson 1.7 up to 1.9.

License

bson4jackson is licensed under the Apache License, Version 2.0.

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Compiling

Build Status

Execute the following command to compile the library and to run the unit tests:

./gradlew test

The script automatically downloads the correct Gradle version, so you won't have to do anything else. If everything runs successfully, you may create a .jar library:

./gradlew jar

The library will be located under the build/libs directory.

Eclipse

Gradle includes a task that creates all files required to develop bson4jackson in Eclipse. Run the following command:

./gradlew eclipse

Then import the project into your workspace.

Something went wrong with that request. Please try again.