373장. XML JSon DataFormat (더 이상 사용되지 않음)
Camel 버전 2.10에서 사용 가능
Camel은 이미 XML 및 JSON 관련 변환을 수행하기 위해 여러 데이터 형식을 지원하지만, 이러한 변환에는 모두 input(마샬링용) 중 하나이거나 출력(비마일링용)으로 Cryostat를 생성해야 합니다. 이 데이터 형식은 XML에서 JSON으로 변환할 수 있는 기능을 제공하며 중간 Cryostat를 단계별로 처리하지 않고 직접 그 반대의 경우도 마찬가지입니다.
이 데이터 형식은 Json-lib 라이브러리를 활용하여 직접 변환을 달성합니다. 이 컨텍스트에서 XML은 상위 수준 형식으로 간주되지만 JSON은 하위 수준 형식입니다. 따라서 marshal/unmarshal 의미 체계는 다음과 같이 할당됩니다.
- XML에서 JSON으로 변환을 마샬링
- JSON에서 XML로 변환 해제.
373.1. 옵션
XML JSon dataformat은 아래에 나열된 13개의 옵션을 지원합니다.
이름 | 기본 | Java Type | 설명 |
---|---|---|---|
인코딩 |
| 인코딩을 설정합니다. unmarshalling(JSON에서 XML 변환)에 사용됩니다. | |
elementName |
| 각 배열 요소를 나타내는 XML 요소의 이름을 지정합니다. unmarshalling(JSON에서 XML 변환)에 사용됩니다. | |
arrayName |
| 최상위 XML 요소의 이름을 지정합니다. unmarshalling(JSON에서 XML 변환)에 사용됩니다. 예를 들어 1, 2, 3을 변환하는 경우 기본적으로 123으로 출력됩니다. 이 옵션 또는 rootName을 설정하면 'a' 요소의 이름을 변경할 수 있습니다. | |
forceTopLevelObject |
|
| 결과 JSON이 XML root 요소와 일치하는 이름의 최상위 요소로 시작할지 여부를 결정합니다. 마샬링( XML에서 JSon 변환으로 변환)에 사용됩니다. 비활성화된 경우 XML 문자열 12는 'x: '1', 'y': '2' 로 변환됩니다. 그렇지 않으면 'a': 'x: '1', 'y': '2' 로 변환됩니다. |
namespaceLenient |
|
| 불완전한 네임스페이스 접두사에 허용되도록 플래그를 지정합니다. unmarshalling(JSON에서 XML 변환)에 사용됩니다. 대부분의 경우 json-lib 는 런타임 시 이 플래그를 처리와 일치하도록 자동으로 변경합니다. |
rootName |
| 최상위 요소의 이름을 지정합니다. unmarshalling(JSON에서 XML 변환)에 사용됩니다. 설정되지 않은 경우 json-lib는 arrayName 또는 objectName (기본값: 'o')을 사용합니다(현재 이 데이터 형식으로 구성할 수 없습니다). 'root'로 설정하면 JSON 문자열 'x': 'value1', 'y' : 'value2'가 value1value2로 전환되고, 그렇지 않으면 'root' 요소 이름은 'o'입니다. | |
skipWhitespace |
|
| XML 요소 간의 공백을 텍스트 값으로 지정하거나 무시하는지 여부를 결정합니다. 마샬링( XML에서 JSon 변환으로 변환)에 사용됩니다. |
trimSpaces |
|
| 문자열 값에서 선행 공백과 후행 공백을 생략할지 여부를 결정합니다.Determines whether leading and trailing white spaces will be omitted from string values. 마샬링( XML에서 JSon 변환으로 변환)에 사용됩니다. |
skipNamespaces |
|
| 네임스페이스를 무시해야 하는지의 신호입니다. 기본적으로 xmlns 요소를 사용하여 JSON 출력에 추가됩니다. 마샬링( XML에서 JSon 변환으로 변환)에 사용됩니다. |
removeNamespacePrefixes |
|
| 결과 JSON 문자열이 포함되지 않도록 XML 정규화된 요소에서 네임스페이스 접두사를 제거합니다. 마샬링( XML에서 JSon 변환으로 변환)에 사용됩니다. |
expandableProperties |
| 확장 가능한 속성으로 JSON 배열 요소는 로컬 이름이 JSON 키와 같은 반복적인 XML 요소의 시퀀스로 변환됩니다(예: 1,2,3 )는 일반적으로 elementName을 설정하여 123(elementName을 통해 수정될 수 있음)으로 변환됩니다. number가 unmarshalling (JSON to XML 변환)에 사용되는 확장 가능한 속성으로 설정된 경우 123으로 변환됩니다. | |
typeHints |
| 결과 XML에 유형 힌트를 추가하여 JSON으로 다시 변환하는 데 도움이 됩니다. unmarshalling(JSON에서 XML 변환)에 사용됩니다. | |
contentTypeHeader |
|
| 데이터 형식이 이렇게 할 수 있는 경우 데이터 형식의 형식으로 Content-Type 헤더를 설정해야 하는지 여부입니다. 예를 들어 데이터 형식의 애플리케이션/xml은 XML로 마샬링하거나 데이터 형식의 경우 JSon으로 마샬링하는 애플리케이션/json의 경우 애플리케이션/json입니다. |