MODOO HUB ← 모두의 툴
Dev · Instrument

JSON → XML 변환기

JSON을 XML 형식으로 변환합니다

JSON → XML 변환기

JSON과 XML은 데이터를 트리 구조로 표현한다는 공통점이 있지만, JSON의 키-값 쌍을 XML의 태그로 그대로 옮기는 과정에는 여러 애매한 지점이 있습니다. 이 도구는 JSON 객체의 각 키를 동일한 이름의 XML 태그로, 배열은 같은 태그가 반복되는 형태로, 중첩 객체는 자식 태그로 재귀적으로 변환합니다. XML은 JSON과 달리 속성(attribute)이라는 개념이 있지만 이 변환기는 모든 값을 텍스트 콘텐츠와 자식 요소로만 표현하는 단순한 방식을 사용합니다. 레거시 SOAP/XML 기반 API에 JSON 데이터를 보내야 하거나, XML만 지원하는 구형 시스템과 연동할 때, RSS·설정 파일 등 XML 포맷이 필수인 곳에 JSON 데이터를 옮길 때 활용됩니다.

자주 묻는 질문

JSON 배열은 XML에서 어떻게 표현되나요?

XML에는 JSON 배열에 대응하는 표준 문법이 없기 때문에, 이 도구는 배열의 각 요소를 부모 키와 동일한 이름의 태그로 반복해서 나열하는 방식을 사용합니다. 예를 들어 hobbies:["독서","코딩"]은 <hobbies>독서</hobbies><hobbies>코딩</hobbies>처럼 변환됩니다.

XML 선언이란?

<?xml version="1.0" encoding="UTF-8"?>로 시작하는 첫 줄로, XML 파서에게 문서의 XML 버전과 문자 인코딩을 알려주는 메타 정보입니다. 체크박스를 끄면 이 줄 없이 루트 요소부터 바로 시작하는 XML 조각(fragment)이 만들어집니다.

숫자와 불리언은 어떻게 변환되나요?

XML은 JSON과 달리 숫자·불리언·문자열을 구분하는 타입 시스템이 없으므로, 30이나 true 같은 값은 모두 문자열처럼 태그 사이의 텍스트 콘텐츠로 그대로 출력됩니다. 원래 타입 정보가 필요하다면 XML을 받는 쪽에서 별도로 파싱해 타입을 복원해야 합니다.

null 값은?

닫는 슬래시로 끝나는 self-closing 빈 태그(예: <email/>)로 표현됩니다. 이는 XML에서 '값이 없음'을 나타내는 일반적인 관례입니다.

특수문자는 자동 이스케이프되나요?

네. &, <, >, ", ' 다섯 개의 XML 예약 문자는 각각 &amp;, &lt;, &gt;, &quot;, &apos;로 자동 치환되어, 텍스트 안에 이 문자가 있어도 XML 파싱 오류가 나지 않습니다.

XML을 다시 JSON으로 변환하려면?

이 사이트의 xml-to-json 도구를 사용하면 됩니다. 다만 이 도구가 배열을 반복 태그로 변환하기 때문에, 되돌릴 때는 같은 이름의 태그가 여러 개인지 여부로 배열 여부를 추론해야 하는 점을 유의하세요.

루트 요소 이름을 변경하려면?

상단의 루트 요소 입력 필드에 원하는 태그 이름을 입력하면 변환 결과의 최상위 태그가 즉시 바뀝니다. 기본값은 'root'입니다.

변환된 XML이 잘못됐나요?

XML 태그 이름은 숫자로 시작하거나 공백·특수문자를 포함할 수 없다는 규칙이 있습니다. JSON 키에 '1st-item'처럼 이 규칙에 어긋나는 이름이 있으면, 변환기가 별도 검증 없이 그대로 태그명으로 사용하기 때문에 유효하지 않은 XML이 생성될 수 있습니다.