JSON ↔ XML 변환기란
데이터 교환에 널리 쓰이는 JSON과 문서·설정·API에 자주 쓰이는 XML을 서로 바꿔 주는 도구입니다. JSON 데이터를 XML 형식으로 내보내거나, XML 응답을 JSON으로 변환해 코드에서 다루기 쉽게 만들 수 있습니다. 입력한 데이터는 브라우저에서만 처리되어 외부로 전송되지 않습니다.
사용법
- 상단에서 JSON → XML 또는 XML → JSON 모드를 선택합니다.
- 입력창에 데이터를 붙여넣으면 입력하는 즉시 결과가 표시됩니다.
- 형식이 올바르지 않으면 빨간색 오류 메시지가 나타납니다.
- 결과 오른쪽 위 복사 버튼으로 클립보드에 복사할 수 있습니다.
JSON과 XML의 매핑 규칙
JSON은 키-값 구조이고 XML은 태그로 감싼 트리 구조라, 서로 옮길 때 몇 가지 약속이 필요합니다. 이 도구는 널리 쓰이는 관례를 따릅니다. XML의 속성(attribute)은 JSON에서 @로 시작하는 키로(예: @id), 엘리먼트가 감싼 텍스트 값은 #text 키로 보존합니다. 반대로 JSON에서 @로 시작하는 키는 XML 속성으로, #text는 엘리먼트의 텍스트로 출력됩니다. JSON의 배열은 같은 이름의 엘리먼트를 여러 번 반복해 표현합니다.
예를 들어 아래 JSON은 다음 XML로 변환됩니다.
// JSON
{"book":{"@id":"1","#text":"제목"}}
<!-- XML -->
<book id="1">제목</book>
실무 활용 예시
오래된 SOAP·RSS·설정 파일 등 XML로 주고받는 데이터를 코드에서 다루기 쉬운 JSON으로 바꾸거나, 반대로 JSON 데이터를 XML을 요구하는 시스템에 맞춰 내보낼 때 씁니다. 들여쓰기는 2칸·4칸 중 선택할 수 있어, 결과를 사람이 검토하기 좋게 정렬해 줍니다. 변환 결과는 오른쪽 위 복사 버튼으로 바로 가져갈 수 있습니다.
주의점·팁
XML 엘리먼트 이름에는 규칙이 있어, 숫자로 시작하거나 공백이 든 JSON 키는 그대로 태그 이름이 될 수 없습니다. 또 JSON의 null은 빈 엘리먼트로, 특수문자(< > &)는 자동으로 이스케이프되어 안전하게 출력됩니다. XML → JSON 변환 시 들여쓰기용 줄바꿈·공백만 있는 텍스트는 값으로 취급하지 않습니다.
JSON과 XML은 표현력이 완전히 같지는 않습니다. XML에는 속성·네임스페이스·주석·처리 명령 등 JSON에 없는 개념이 있고, JSON에는 배열이라는 명확한 구조가 있습니다. 그래서 두 형식을 오갈 때는 위에서 설명한 @·#text 같은 약속으로 최대한 손실 없이 옮기되, 구조가 복잡할수록 결과를 한 번 검토하는 편이 좋습니다. 특히 배열과 단일 항목의 구분(항목이 하나뿐인 배열)은 형식 간 왕복 시 달라질 수 있으니 주의하세요. 그래도 대부분의 실무 데이터는 문제없이 오갈 수 있으며, 들여쓰기 옵션으로 결과를 보기 좋게 정렬해 검토하면 됩니다. 모든 변환은 브라우저 안에서 처리되어 데이터가 외부로 전송되지 않으므로, 내부 시스템의 응답이나 설정도 안심하고 변환할 수 있습니다.
자주 묻는 질문
입력한 데이터가 서버로 전송되나요?
아니요. 모든 변환은 브라우저 안에서만 실행되며 입력한 JSON·XML 데이터는 서버로 전송되거나 저장되지 않습니다.
XML의 속성도 변환되나요?
네. XML을 JSON으로 변환하면 속성은 @로 시작하는 키(예: @id)로, 엘리먼트의 텍스트 값은 #text 키로 보존됩니다. 반대로 JSON에서 @로 시작하는 키는 XML 속성으로 출력됩니다.
JSON의 배열은 어떻게 변환되나요?
배열은 같은 이름의 엘리먼트를 반복해서 출력합니다. 예를 들어 item이 [1,2]인 배열은 item 태그를 두 번 반복하는 형태로 변환됩니다.
XML 특수문자는 어떻게 처리되나요?
< > & 같은 특수문자는 XML에서 의미가 있으므로 자동으로 엔티티로 이스케이프되어 안전하게 출력됩니다. null 값은 빈 엘리먼트로 변환됩니다.
어떤 JSON 키는 태그로 못 쓰나요?
XML 엘리먼트 이름 규칙상 숫자로 시작하거나 공백이 포함된 키는 그대로 태그 이름이 될 수 없습니다. 이런 경우 루트 이름이 자동으로 보정될 수 있습니다.
변환 중 오류가 나면 어떻게 되나요?
입력 형식이 올바르지 않으면 결과 대신 빨간색 오류 메시지가 표시됩니다. 메시지 내용을 보고 입력을 수정하면 즉시 다시 변환됩니다.