JSON→XML 변환기
JSON 데이터를 XML로 변환합니다. @attributes는 요소의 속성으로, #text는 텍스트 내용으로, 배열은 같은 이름의 형제 요소로 복원됩니다 — XML→JSON 변환기의 역방향 작업이며, 브라우저에서 완결됩니다.
사용 팁
- `@attributes` 키에 객체를 넣으면 해당 객체의 각 속성이 변환된 요소의 속성이 됩니다.
- `#text` 키는 속성이나 자식 요소와 함께 존재하는 요소의 텍스트 내용을 나타낼 때 사용합니다. 속성이 없는 단순한 요소는 문자열을 값으로 직접 사용하면 됩니다.
- 같은 키에 배열을 지정하면 배열의 각 항목이 같은 이름의 형제 요소로 반복 출력됩니다.
- 값으로 `null`을 지정하면 속성·텍스트·자식 요소가 없는 빈 자체 종료 태그(`
`)가 됩니다. - 이 도구는 자매 도구인 "XML→JSON 변환기"의 출력 형식(루트 요소 이름을 키로 하는 객체, 최상위 키는 하나만)을 입력으로 전제합니다.
자주 묻는 질문
여담 ― JSON을 XML로 "되돌릴" 때 주의할 점
XML을 JSON으로 변환하는 것은 일종의 "정보 압축"에 가깝습니다. XML은 속성·텍스트·자식 요소라는 세 가지 정보를 가질 수 있지만 JSON은 단순한 키-값 대응 관계만 가질 수 있으므로, 변환 시 어떤 규칙(본 도구에서는 `@attributes`/`#text`/배열/null이라는 네 가지 규칙)을 채택해야 합니다. 이 규칙만 지켜진다면 JSON을 XML로 "되돌리는" 변환은 기계적으로 일의적으로 정해지지만, 규칙을 따르지 않는 자유 형식의 JSON을 억지로 XML화하려고 하면 속성인지 요소인지 구분이 되지 않아 변환 결과가 예상과 달라질 수 있습니다.
실무에서는 레거시 XML API를 일단 JSON으로 변환하여 JavaScript로 가공한 뒤, 다시 XML로 되돌려 다른 시스템에 전송하는 상황이 있습니다. 예를 들어 SOAP 형식 웹 API의 응답을 JSON으로 가공하기 쉽게 만든 후, 같은 SOAP 형식의 요청으로 다시 보내야 하는 경우입니다. 이런 왕복 변환에서는 변환 규칙의 일관성이 무엇보다 중요하며, 중간에 다른 규칙을 쓰는 도구를 끼워 넣으면 속성과 텍스트의 대응 관계가 무너질 수 있습니다.
본 도구가 "최상위 키는 하나만"이라는 규칙을 엄격히 적용하는 것은 XML 자체의 사양(루트 요소는 반드시 하나)을 반영한 것입니다. 여러 최상위 키를 가진 JSON을 변환하고 싶다면, 미리 공통 부모 키(예: `root`)로 감싼 후 본 도구에 입력하면 단일 루트 요소를 가진 XML로 출력할 수 있습니다.