第176章 JSon Johnzon DataFormat
Camel バージョン 2.18 以降で利用可能
Johnzon は、Johnzon ライブラリー を使用するデータ形式です。
from("activemq:My.Queue").
  marshal().json(JsonLibrary.Johnzon).
  to("mqseries:Another.Queue");
from("activemq:My.Queue").
  marshal().json(JsonLibrary.Johnzon).
  to("mqseries:Another.Queue");
176.1. Johnzon オプション リンクのコピーリンクがクリップボードにコピーされました!
JSon Johnzon データ形式は、以下に示す 19 個のオプションをサポートしています。
| 名前 | デフォルト | Java タイプ | 説明 | 
|---|---|---|---|
|   objectMapper  |   
								  |   Jackson を使用する場合は、指定された ID で既存の ObjectMapper を検索して使用します。  | |
|   useDefaultObjectMapper  |   
								  |   
								  |   レジストリーからデフォルトの Jackson ObjectMapper を検索して使用するかどうか。  | 
|   prettyPrint  |   
								  |   
								  |   適切にフォーマットされたきれいな印刷出力を有効にします。デフォルトでは false です。  | 
|   library  |   
								  |   
								  |   使用する json ライブラリー。  | 
|   unmarshalTypeName  |   
								  |   アンアームシャリング時に使用する Java 型のクラス名  | |
|   jsonView  |   
								  |   POJO を JSON にマーシャリングする際に、JSON 出力から特定のフィールドを除外する場合があります。Jackson では、JSON ビューを使用してこれを実現できます。このオプションは、JsonView アノテーションを持つクラスを参照します。  | |
|   include  |   
								  |   pojo を JSON にマーシャリングする必要があり、pojo に null 値を持つフィールドがいくつかある場合。これらの null 値をスキップする場合は、このオプションを NOT_NULL に設定できます。  | |
|   allowJmsType  |   
								  |   
								  |   JMS ユーザーが JMS 仕様の JMSType ヘッダーを使用して、アンマーシャリングに使用する FQN クラス名を指定できるようにするために使用されます。  | 
|   collectionTypeName  |   
								  |   使用するレジストリーを参照するカスタムコレクションタイプを参照します。このオプションはあまり使用しないでください。ただし、デフォルトとして java.util.Collection に基づくものとは異なるコレクションタイプを使用できます。  | |
|   useList  |   
								  |   
								  |   Map の List または Pojo の List にアンマーシャリングします。  | 
|   enableJaxbAnnotationModule  |   
								  |   
								  |   jackson の使用時に JAXB アノテーションモジュールを有効にするかどうか。有効にすると、Jackson によって JAXB アノテーションを使用できます。  | 
|   moduleClassNames  |   
								  |   カスタム Jackson モジュール com.fasterxml.jackson.databind.Module を使用するには、FQN クラス名を持つ文字列として指定します。複数のクラスはコンマで区切ることができます。  | |
|   moduleRefs  |   
								  |   Camel レジストリーから参照されるカスタム Jackson モジュールを使用します。複数のモジュールはコンマで区切ることができます。  | |
|   enableFeatures  |   
								  |   Jackson com.fasterxml.jackson.databind.ObjectMapper で有効にする機能のセット。この機能は、com.fasterxml.jackson.databind.SerializationFeature、com.fasterxml.jackson.databind.DeserializationFeature、または com.fasterxml.jackson.databind.MapperFeature の列挙型と一致する名前である必要があります。複数の機能はコンマで区切ることができます。  | |
|   disableFeatures  |   
								  |   Jackson com.fasterxml.jackson.databind.ObjectMapper で無効にする機能のセット。この機能は、com.fasterxml.jackson.databind.SerializationFeature、com.fasterxml.jackson.databind.DeserializationFeature、または com.fasterxml.jackson.databind.MapperFeature の列挙型と一致する名前である必要があります。複数の機能はコンマで区切ることができます。  | |
|   permissions  |   
								  |   xml/json から Java Bean へのアンマーシャリング中に使用できる Java パッケージおよびクラス XStream を制御するパーミッションを追加します。パーミッションは、JVM システムプロパティーを使用して、この場所またはグローバルに設定する必要があります。パーミッションは、プラス記号が許可で、マイナス記号が拒否である構文で指定できます。ワイルドカードは . を接頭辞として使用することでサポートされます。たとえば、com.foo およびすべてのサブパッケージを許可するには、com.foo を指定します。複数のパーミッションは、com.foo.,-com.foo.bar.MySecretBean のようにコンマで区切ることができます。以下のデフォルトパーミッションは常に、キー org.apache.camel.xstream.permissions で JVM システムプロパティーを指定して上書きされない限り、-,java.lang.,java.util. が含まれます。  | |
|   allowUnmarshallType  |   
								  |   
								  |   有効にすると、Jackson はアンマーシャリング中に CamelJacksonUnmarshalType ヘッダーの使用を試みることができます。これは、使用する必要がある場合にのみ有効にする必要があります。  | 
|   timezone  |   
								  |   設定されている場合、Jackson はマーシャリング/アンマーシャリング時にタイムゾーンを使用します。このオプションは、gson、fastjson、xstream など、他の Json DataFormat には影響を与えません。  | |
|   contentTypeHeader  |   
								  |   
								  |   データフォーマットがデータ形式を実行できる場合は、データフォーマットの型で Content-Type ヘッダーを設定するかどうか。たとえば、XML にマーシャリングするデータ形式の場合は application/xml、JSON にマーシャリングするデータ形式の場合は JSon です。  |