184장. JSon Jackson DataFormat

Camel 버전 2.0에서 사용 가능

Jackson은 Jackson 라이브러리를 사용하는 데이터 형식입니다.

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

184.1. Jackson 옵션

JSon Jackson 데이터 형식은 아래 나열된 19 가지 옵션을 지원합니다.

이름DefaultJava Type설명

objectMapper

 

문자열

Jackson을 사용할 때 지정된 ID와 함께 기존 ObjectMapper를 조회하고 사용합니다.

useDefaultObjectMapper

true

부울

레지스트리에서 기본 Jackson ObjectMapper를 조회하고 사용할지 여부입니다.

prettyPrint

false

부울

매우 인쇄된 출력을 적절하게 포맷할 수 있도록 합니다. 기본적으로 false입니다.

라이브러리

XStream

JsonLibrary

사용할 json 라이브러리는 무엇입니까.

unmarshalTypeName

 

문자열

무기링 해제 시 사용할 java 유형의 클래스 이름입니다.

jsonView

 

클래스

JWT를 JSON으로 마샬링할 때 JSON 출력에서 특정 필드를 제외할 수 있습니다. jackson을 사용하면 JSON 보기를 사용하여 이 작업을 수행할 수 있습니다. 이 옵션은 JsonView 주석이 있는 클래스를 참조하기 위한 것입니다.

include

 

문자열

JSON에 pojo를 마샬링하고 pojo에는 null 값이 있는 일부 필드가 있는 경우입니다. 또한 이러한 null 값을 건너뛰려면 이 옵션을 NON_NULL로 설정할 수 있습니다.

allowJmsType

false

부울

JMS 사양의 JMSType 헤더를 허용하여 사용할 FQN 클래스name을 허용하도록 JMS 사용자에게 사용됩니다.

collectionTypeName

 

문자열

사용할 레지스트리에서 조회할 사용자 지정 컬렉션 유형을 나타냅니다. 이 옵션은 거의 사용되지 않지만 java.util.ECDHE와 다른 컬렉션 유형을 기본값으로 사용할 수 있습니다.

useList

false

부울

맵 목록 또는 Pojo 목록에 무장 해제하려면 다음을 수행하십시오.

enableJaxbAnnotationModule

false

부울

jackson을 사용할 때ECDHEB 주석 모듈을 활성화할지 여부입니다. 활성화되면 jackson에서 seccompB 주석을 사용할 수 있습니다.

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 여러 기능에 의해 구분될 수 있습니다.

권한

 

문자열

xml/json에서 JavaECDHE에 이르기까지 unmarshal 동안 사용할 수 있는 Java 패키지 및 클래스 XStream을 제어하는 권한을 추가합니다. 권한은 여기에서 또는 JVM 시스템 속성을 사용하여 전역적으로 구성해야 합니다. 권한을 더하기 기호가 허용한 구문으로 지정할 수 있으며 - 기호는 거부됩니다. 접두사로 .을 사용하면 와일드카드가 지원됩니다. 예를 들어 com.foo 및 모든 하위 패키지를 허용하는 경우 specfy com.foo. 여러 권한(예: com.foo.,-com.foo.bar.MySecretBean)을 쉼표로 구분하여 구성할 수 있습니다. 다음 기본 권한은 항상 포함되어 있습니다. -,java.lang.,java.util.

allowUnmarshallType

false

부울

활성화된 경우 Jackson은 미완성 중에 CamelJacksonUnmarshalType 헤더를 사용할 수 있습니다. 이는 사용하기를 원하는 경우에만 활성화해야 합니다.

timezone

 

문자열

설정되어 있는 경우 Jackson은 마샬링/unmarshalling 시 시간대를 사용합니다. 이 옵션은 gson, fastjson 및 xstream과 같은 다른 Json DataFormat에는 영향을 미치지 않습니다.

contentTypeHeader

true

부울

데이터 형식이 이를 수행할 수 있는 경우 데이터 형식이 데이터 형식에서 형식을 사용하여 Content-Type 헤더를 설정해야 하는지의 여부입니다. 예를 들어 데이터 형식의 application/xml은 XML로 마샬링하거나 JSon 등에 데이터 형식의 경우 application/json입니다.