Chapter 59. JSON Gson


Gson is a Data Format which uses the Gson Library.

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

59.1. Gson Options

The JSON Gson dataformat supports 3 options, which are listed below.

NameDefaultJava TypeDescription

prettyPrint

 

Boolean

To enable pretty printing output nicely formatted. Is by default false.

unmarshalType

 

String

Class name of the java type to use when unmarshalling.

contentTypeHeader

 

Boolean

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

59.2. Dependencies

To use Gson in your camel routes you need to add the dependency on camel-gson 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-gson</artifactId>
  <version>{CamelSBVersion}</version>
  <!-- use the same version as your Camel core version -->
</dependency>

59.3. Spring Boot Auto-Configuration

When using json-gson 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-gson-starter</artifactId>
  <version>{CamelSBProjectVersion}</version>
  <!-- Use your Camel Spring Boot version -->
</dependency>

The component supports 4 options, which are listed below.

NameDescriptionDefaultType

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

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

true

Boolean

camel.dataformat.json-gson.enabled

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

 

Boolean

camel.dataformat.json-gson.pretty-print

To enable pretty printing output nicely formatted. Is by default false.

false

Boolean

camel.dataformat.json-gson.unmarshal-type

Class name of the java type to use when unmarshalling.

 

String

Red Hat logoGithubRedditYoutubeTwitter

Learn

Try, buy, & sell

Communities

About Red Hat Documentation

We help Red Hat users innovate and achieve their goals with our products and services with content they can trust.

Making open source more inclusive

Red Hat is committed to replacing problematic language in our code, documentation, and web properties. For more details, see the Red Hat Blog.

About Red Hat

We deliver hardened solutions that make it easier for enterprises to work across platforms and environments, from the core datacenter to the network edge.

© 2024 Red Hat, Inc.