[[json-johnzon-dataformat]]
= JSON Johnzon DataFormat
//THIS FILE IS COPIED: EDIT THE SOURCE FILE:
:page-source: components/camel-johnzon/src/main/docs/json-johnzon-dataformat.adoc
:docTitle: JSON Johnzon
:artifactId: camel-johnzon
:description: Marshal POJOs to JSON and back using Johnzon
:since: 2.18
:supportLevel: Stable
include::{cq-version}@camel-quarkus:ROOT:partial$reference/dataformats/json-johnzon.adoc[opts=optional]

*Since Camel {since}*

Johnzon is a Data Format which uses the
http://johnzon.apache.org/[Johnzon Library]

[source,java]
-------------------------------
from("activemq:My.Queue").
  marshal().json(JsonLibrary.Johnzon).
  to("mqseries:Another.Queue");
-------------------------------

== Johnzon Options



// dataformat options: START
The JSON Johnzon dataformat supports 3 options, which are listed below.



[width="100%",cols="2s,1m,1m,6",options="header"]
|===
| Name | Default | Java Type | Description
| objectMapper |  | String | Lookup and use the existing Mapper with the given id.
| prettyPrint | false | Boolean | To enable pretty printing output nicely formatted. Is by default false.
| unmarshalTypeName |  | String | Class name of the java type to use when unmarshalling
|===
// dataformat options: END


== Dependencies

To use Johnzon in your camel routes you need to add the dependency
on *camel-johnzon* which implements this data format.

If you use maven you could just add the following to your pom.xml,
substituting the version number for the latest & greatest release (see
the download page for the latest versions).

[source,xml]
----------------------------------------------------------
<dependency>
  <groupId>org.apache.camel</groupId>
  <artifactId>camel-johnzon</artifactId>
  <version>x.x.x</version>
  <!-- use the same version as your Camel core version -->
</dependency>
----------------------------------------------------------

include::{page-component-version}@camel-spring-boot::page$johnzon-starter.adoc[]
