Chapter 79. JSON Gson
Chapter 79. JSON Gson Gson is a Data Format which uses the Gson Library . from("activemq:My.Queue"). marshal().json(JsonLibrary.Gson). to("mqseries:Another.Queue"); 79.1. Gson Options The JSON Gson dataformat supports 3 options, which are listed below. Name Default Java Type Description 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. 79.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> 79.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> </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
from("activemq:My.Queue"). marshal().json(JsonLibrary.Gson). to("mqseries:Another.Queue"); <dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-gson</artifactId> <version>{CamelSBVersion}</version> <!-- use the same version as your Camel core version --> </dependency> <dependency> <groupId>org.apache.camel.springboot</groupId> <artifactId>camel-gson-starter</artifactId> </dependency>