第 65 章 JSON Jackson


jackson 是一个数据格式,它使用 Jackson 库

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

65.1. jackson 选项

JSON Jackson 数据格式支持 20 个选项,如下所列。

名称默认Java 类型描述

objectMapper

 

字符串

使用 Jackson 时查找并使用现有的 ObjectMapper 和给定 ID。

useDefaultObjectMapper

 

布尔值

是否从注册表查找和使用默认 Jackson ObjectMapper。

prettyPrint

 

布尔值

支持格式良好的用户打印输出:默认为 false。

unmarshalType

 

字符串

在 unmarshalling 时使用的 java 类型的类名称。

jsonView

 

字符串

将 POJO 打包到 JSON 时,您可能希望从 JSON 输出中排除某些字段。借助 Jackson,您可以使用 JSON 视图来完成此操作。此选项是引用具有 JsonView 注释的类。

Include

 

字符串

如果您想将 pojo 链接到 JSON,而 pojo 则有一些字段具有 null 值。您想要跳过这些 null 值,您可以将这个选项设置为 NON_NULL。

allowJmsType

 

布尔值

用于 JMS 用户,以允许 JMS spec 中的 JMSType 标头指定用于 unmarshal 的 FQN 类名称。

collectionType

 

字符串

指的是要在 registry 中使用的自定义集合类型。这个选项应该很少被使用,但允许使用与 java.util.Collection 不同的集合类型作为默认值。

useList

 

布尔值

要取消组合到映射列表或 Pojo 的列表,请执行以下操作:

moduleClassNames

 

字符串

使用自定义 Jackson 模块 com.fasterxml.jackson.databind.Module,指定为带有 FQN 类名称的 String。可以使用逗号分隔多个类。

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 允许在 unmarshalling 期间尝试使用 CamelJacksonUnmarshalType 标头。这只在需要使用时才启用。

timezone

 

字符串

如果设置,则 Jackson 会在 marshalling/unmarshalling 时使用 Timezone。此选项不会影响其他 Json DataFormat,如 gson、fastjson 和 xstream。

autoDiscoverObjectMapper

 

布尔值

如果设置为 true,则 Jackson 将向 registry 中查找 objectMapper。

contentTypeHeader

 

布尔值

数据格式是否应使用数据格式的类型设置 Content-Type 标头。例如,用于数据格式的 application/xml 示例到 XML,或者用于数据格式的应用程序/json 到 JSON。

schemaResolver

 

字符串

用于查找传输中数据的模式解析器的可选模式。

autoDiscoverSchemaResolver

 

布尔值

如果不禁用,SchemaResolver 将进入 registry。

namingStrategy

 

字符串

如果设置为 then,则 Jackson 将使用定义的 Property Naming Strategy.Possible 值: LOWER_CAMEL_CASE, LOWER_DOT_CASE, LOWER_CASE, KEBAB_CASE, SNAKE_CASE 和 UPPER_CAMEL_CASE.

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.