188장. JSon XStream DataFormat


Camel 버전 2.0에서 사용 가능

XStream은 XStream 라이브러리 를 사용하여 XML 간에 Java 개체를 마샬링 및 unmarshal하는 데이터 형식입니다.

camel 경로에서 XStream을 사용하려면 이 데이터 형식을 구현하는 camel-xstream 에 대한 종속성을 추가해야 합니다.

Maven 사용자는 이 구성 요소에 대해 pom.xml 에 다음 종속성을 추가해야 합니다.

<dependency>
  <groupId>org.apache.camel</groupId>
  <artifactId>camel-xstream</artifactId>
  <version>x.x.x</version>
  <!-- use the same version as your Camel core version -->
</dependency>

188.1. 옵션

JSon XStream 데이터 형식은 아래에 나열된 19개의 옵션을 지원합니다.

이름기본Java Type설명

objectMapper

 

문자열

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

useDefaultObjectMapper

true

부울

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

prettyPrint

false

부울

잘 포맷된 출력 출력을 가능하게 합니다. 기본적으로 false입니다.

라이브러리

XStream

JsonLibrary

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

unmarshalTypeName

 

문자열

armshalling 해제 시 사용할 java 유형의 클래스 이름

jsonView

 

클래스

Cryostat를 JSON으로 마샬링하는 경우 JSON 출력에서 특정 필드를 제외해야 할 수 있습니다. Jackson을 사용하면 JSON 보기를 사용하여 이를 수행할 수 있습니다. 이 옵션은 JsonView 주석이 있는 클래스를 참조하는 것입니다.

포함

 

문자열

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

allowJmsType

false

부울

JMS 사용자가 JMS 사양의 JMSType 헤더가 FQN classname을 지정하여 unmarshal을 지정할 수 있도록 허용하는 데 사용됩니다.

collectionTypeName

 

문자열

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

useList

false

부울

지도 목록 또는 Pojo 목록에 대한 권한을 해제하려면 다음을 수행합니다.

enableJaxbAnnotationModule

false

부울

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

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 Multiple 기능에서 enum과 일치하는 이름이어야 합니다.

disableFeatures

 

문자열

jackson com.fasterxml.jackson.databind.ObjectMapper에서 비활성화할 기능 세트 기능은 com.fasterxml.jackson.databind.SerializationFeature, com.fasterxml.jackson.databind.DeserializationFeature 또는 com.fasterxml.jackson.databind.MapperFeature Multiple 기능에서 enum과 일치하는 이름이어야 합니다.

권한

 

문자열

marshal에서 xml/json에서 Java 빈으로 사용할 수 있는 Java 패키지 및 클래스 XStream을 제어하는 권한을 추가합니다. 권한은 JVM 시스템 속성을 사용하여 여기 또는 전역에서 구성해야 합니다. 더하기 기호가 허용되고 - 기호가 거부되는 구문에 권한을 지정할 수 있습니다. 와일드카드는 접두사로 .을 사용하여 지원됩니다. 예를 들어 com.foo 및 all subpackages를 허용하려면 specfy com.foo. 여러 권한을 com.foo.,-com.foo.bar.MySecretBean과 같이 쉼표로 구분할 수 있습니다. 다음 기본 권한은 항상 포함됩니다. -,java.lang.,java.util.util은 JVM 시스템 속성을 org.apache.camel.xstream.permissions 키로 지정하여 재정의하지 않는 한 항상 포함됩니다.

allowUnmarshallType

false

부울

활성화된 경우 Jackson은 unmarshalling 중에 CamelJacksonUnmarshalType 헤더를 사용하려고 할 수 있습니다. 이 설정은 사용하려는 경우에만 활성화해야 합니다.

시간대

 

문자열

설정된 경우 jackson은 마샬링/마이클리싱 시 Timezone을 사용합니다. 이 옵션은 gson, fastjson 및 xstream과 같은 다른 Json DataFormat에는 영향을 미치지 않습니다.

contentTypeHeader

false

부울

데이터 형식이 이렇게 할 수 있는 경우 데이터 형식의 형식으로 Content-Type 헤더를 설정해야 하는지 여부입니다. 예를 들어 데이터 형식의 애플리케이션/xml은 XML로 마샬링하거나 데이터 형식의 경우 JSon으로 마샬링하는 애플리케이션/json의 경우 애플리케이션/json입니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.