第62章 JSON Jackson
Jackson は、Jackson Library を使用するデータ形式です。
from("activemq:My.Queue"). marshal().json(JsonLibrary.Jackson). to("mqseries:Another.Queue");
from("activemq:My.Queue").
marshal().json(JsonLibrary.Jackson).
to("mqseries:Another.Queue");
62.1. Jackson オプション リンクのコピーリンクがクリップボードにコピーされました!
JSON Jackson データ形式は、以下に示す 20 のオプションをサポートしています。
名前 | デフォルト | Java タイプ | 説明 |
---|---|---|---|
objectMapper |
| Jackson を使用する場合は、指定された ID で既存の ObjectMapper を検索して使用します。 | |
useDefaultObjectMapper |
| レジストリーからデフォルトの Jackson ObjectMapper を検索して使用するかどうか。 | |
prettyPrint |
| 適切にフォーマットされたきれいな印刷出力を有効にします。デフォルトでは false です。 | |
unmarshalType |
| アンマーシャリング時に使用する Java 型のクラス名。 | |
jsonView |
| POJO を JSON にマーシャリングする際に、JSON 出力から特定のフィールドを除外する場合があります。Jackson では、JSON ビューを使用してこれを実現できます。このオプションは、JsonView アノテーションを持つクラスを参照するためのものです。 | |
include |
| pojo を JSON にマーシャリングする必要があり、pojo に null 値を持つフィールドがいくつかある場合。これらの null 値をスキップする場合は、このオプションを NON_NULL に設定できます。 | |
allowJmsType |
| JMS ユーザーが JMS 仕様の JMSType ヘッダーを使用して、アンマーシャリングに使用する FQN クラス名を指定できるようにするために使用されます。 | |
collectionType |
| 使用するレジストリーを参照するカスタムコレクションタイプを参照します。このオプションはあまり使用しないでください。ただし、デフォルトとして java.util.Collection に基づくものとは異なるコレクションタイプを使用できます。 | |
useList |
| Map の List または Pojo の List にアンマーシャリングします。 | |
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 の列挙型と一致する名前である必要があります。複数の機能はコンマで区切ることができます。 | |
allowUnmarshallType |
| 有効にすると、Jackson はアンマーシャリング中に CamelJacksonUnmarshalType ヘッダーの使用を試みることができます。これは、使用する必要がある場合にのみ有効にする必要があります。 | |
timezone |
| 設定されている場合、Jackson はマーシャリング/アンマーシャリング時にタイムゾーンを使用します。このオプションは、gson、fastjson、xstream など、他の Json DataFormat には影響を与えません。 | |
autoDiscoverObjectMapper |
| true に設定すると、Jackson は objectMapper をレジストリーで検索します。 | |
contentTypeHeader |
| データ形式が Content-Type ヘッダーにデータ形式のタイプを設定する必要があるかどうか。たとえば、XML にマーシャリングするデータ形式の場合は application/xml、JSON にマーシャリングするデータ形式の場合は application/json です。 | |
schemaResolver |
| 転送中のデータのスキーマを検索するために使用されるオプションのスキーマリゾルバー。 | |
autoDiscoverSchemaResolver |
| 無効にしない場合、SchemaResolver はレジストリーで検索されます。 | |
namingStrategy |
| 設定されている場合、Jackson は定義済みのプロパティー命名ストラテジーを使用します。使用可能な値は、LOWER_CAMEL_CASE、LOWER_DOT_CASE、LOWER_CASE、KEBAB_CASE、SNAKE_CASE、および UPPER_CAMEL_CASE です。 |