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