JSON Fastjson

Since Camel 2.20

Fastjson is a Data Format which uses the Fastjson Library

from("activemq:My.Queue").
  marshal().json(JsonLibrary.Fastjson).
  to("mqseries:Another.Queue");

Fastjson Options

The JSON Fastjson dataformat supports 2 options, which are listed below.

Name Default Java Type Description

unmarshalTypeName

String

Class name of the java type to use when unmarshalling

contentTypeHeader

false

Boolean

Whether the data format should set the Content-Type header with the type from the data format if the data format is capable of doing so. For example application/xml for data formats marshalling to XML, or application/json for data formats marshalling to JSON etc.

Dependencies

To use Fastjson in your camel routes you need to add the dependency on camel-fastjson 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).

<dependency>
  <groupId>org.apache.camel</groupId>
  <artifactId>camel-fastjson</artifactId>
  <version>x.x.x</version>
  <!-- use the same version as your Camel core version -->
</dependency>

Spring Boot Auto-Configuration

When using fastjson with Spring Boot make sure to use the following Maven dependency to have support for auto configuration:

<dependency>
  <groupId>org.apache.camel.springboot</groupId>
  <artifactId>camel-fastjson-starter</artifactId>
  <version>x.x.x</version>
  <!-- use the same version as your Camel core version -->
</dependency>

The component supports 3 options, which are listed below.

Name Description Default Type

camel.dataformat.json-fastjson.content-type-header

Whether the data format should set the Content-Type header with the type from the data format if the data format is capable of doing so. For example application/xml for data formats marshalling to XML, or application/json for data formats marshalling to JSON etc.

false

Boolean

camel.dataformat.json-fastjson.enabled

Whether to enable auto configuration of the json-fastjson data format. This is enabled by default.

Boolean

camel.dataformat.json-fastjson.unmarshal-type-name

Class name of the java type to use when unmarshalling

String