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.
Name | Default | Java Type | Description |
---|---|---|---|
prettyPrint |
| To enable pretty printing output nicely formatted. Is by default false. | |
unmarshalType |
| Class name of the java type to use when unmarshalling. | |
contentTypeHeader |
| 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.
Name | Description | Default | Type |
---|---|---|---|
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 |