JSON을 XML로 변환하는 방법
- JSON을 붙여넣거나
.json파일을 엽니다. 입력하는 동안 옆에 XML이 바로 표시됩니다. - 루트 요소 이름(비워 두면 최상위의 단일 키를 사용), 속성 접두사, 들여쓰기를 설정합니다.
- XML을 복사하거나
.xml파일로 다운로드합니다.
JSON이 XML로 변환되는 규칙
| JSON | XML |
|---|---|
{"name": "Ada"} | <name>Ada</name> |
{"@id": "7"} | 부모 요소의 속성 id="7" |
{"#text": "Hello"} | 부모 요소의 텍스트 내용 |
{"tag": ["a", "b"]} | <tag>a</tag><tag>b</tag> |
{"note": null} | <note/> |
{"2nd key": 1} | <_2nd_key>1</_2nd_key> – 잘못된 이름은 자동 수정 |
최상위 배열 [1, 2] | <root><item>1</item><item>2</item></root> |
텍스트 안의 &, <, > | &, <, > |
JSON vs XML 차이점
JSON에는 배열, 숫자, 불리언, null이 있지만 XML에는 요소, 속성, 텍스트만 있으므로 타입이 보존되지 않습니다. 42와 "42"는 모두 텍스트 42가 됩니다. 반대로 XML에는 JSON에 없는 속성, 네임스페이스, 혼합 콘텐츠가 있습니다. 나중에 XML을 다시 JSON으로 변환할 계획이라면 여기서 사용하는 일반적인 규칙, 즉 속성에는 @, 텍스트 내용에는 #text를 그대로 유지하세요. 대부분의 변환기가 이 규칙을 이해합니다.
자주 묻는 질문
JSON 배열은 XML로 어떻게 변환되나요?
각 항목은 배열의 키 이름을 딴 요소가 됩니다. 따라서 {"book": [ … ]} 형태는 여러 개의 <book> 요소가 됩니다. 최상위 배열의 항목은 루트 안의 <item> 요소가 됩니다.
JSON에서 XML 속성을 만들려면 어떻게 하나요?
키 앞에 접두사 @ 기호를 붙이세요. {"user": {"@id": 7, "name": "Ada"}} 형태는 <user id="7"><name>Ada</name></user> 형태로 변환됩니다. 접두사는 옵션에서 바꿀 수 있습니다.
유효한 XML 이름이 아닌 키는 어떻게 되나요?
공백처럼 XML 이름에 쓸 수 없는 문자는 밑줄(_)로 바뀌고, 숫자나 “xml”로 시작하는 이름에는 앞에 밑줄이 붙습니다. 예: "2nd key" → <_2nd_key>.
생성된 XML은 유효한가요?
네. 특수 문자는 이스케이프되고, 모든 요소 이름이 유효하며, 문서에는 정확히 하나의 루트 요소가 있습니다. 맨 위에 XML 선언을 선택적으로 넣을 수 있습니다.