XML ↔ JSON 변환기 🔒 데이터가 브라우저 밖으로 나가지 않습니다.
브라우저에서 바로 XML을 JSON으로, 다시 그 반대로 변환하세요.
속성은 @키가 되고 · 반복 태그는 배열이 됩니다
Ctrl+S다운로드
이 도구에 대해
XML은 SOAP API, RSS/Atom 피드, Android 레이아웃, 그리고 수많은 레거시 기업 시스템에서 사용되는 반면, JSON은 현대의 기본 선택입니다. 이 변환기는 둘을 잇습니다: 속성은 @name 키가 되고, 속성과 함께 있는 텍스트 노드는 #text가 되며, 같은 부모 아래 반복되는 태그는 JSON 배열이 됩니다 — 널리 쓰이는 XML-JSON 라이브러리와 동일한 규칙이라 결과물이 낯설지 않습니다.
변환은 브라우저 내장 DOMParser를 통해 이루어집니다 — 어떤 XML 라이브러리도 다운로드되지 않고, 어떤 데이터도 어디로도 업로드되지 않습니다. 반대 방향에서는 @로 시작하는 JSON 키가 속성이 되고 배열은 반복되는 형제 태그가 되므로, 신중한 왕복 변환은 구조를 그대로 보존합니다.
자주 묻는 질문
변환된 JSON에서 @ 접두사와 배열은 실제로 무엇을 의미하나요?
XML 속성은 @ 접두사가 붙은 JSON 키가 됩니다(예: `<item id="1">`는 `{"@id": "1"}`가 됩니다). 그리고 같은 부모 아래에서 반복되는 태그는 자신을 덮어쓰는 대신 JSON 배열이 됩니다 — 이렇게 해서 `<item>Milk</item><item>Eggs</item>`가 `["Milk", "Eggs"]`가 됩니다.
이 도구가 XML 네임스페이스, CDATA 섹션, 주석, 처리 명령을 이해하나요?
부분적으로만 그렇습니다. 네임스페이스가 있는 태그는 네임스페이스 URI를 해석하지 않고 원래 접두사(예: `ns:tag`)를 그대로 유지하며, CDATA 내용은 일반 텍스트로 읽히고, 주석과 처리 명령은 완전히 버려집니다. 이는 일반적인 설정 및 데이터 파일을 위한 실용적인 변환기이지 완전한 XML 사양 구현이 아닙니다 — 정확성을 위해 네임스페이스나 DTD에 의존하는 XML에는 사용하지 마세요.
XML을 JSON으로 변환했다가 다시 XML로 되돌리면 완전히 동일한 문서를 얻을 수 있나요?
매우 가깝지만 바이트 단위로 동일하지는 않습니다. 요소와 속성의 순서 및 값은 왕복 변환에서 정확히 유지되지만, 원본 주석, CDATA 래핑, 자체 종료 태그 스타일, 태그 사이의 정확한 공백은 보존되지 않습니다 — 결과물은 의미적으로 동등할 뿐, 완전히 동일한 사본은 아닙니다.
이 도구를 사용할 때 제 XML이나 JSON이 어딘가로 업로드되나요?
아니요. 파싱은 브라우저 내장 DOMParser와 JSON.parse를 사용하며, 둘 다 사용자의 기기에서만 실행됩니다. 여기에 붙여넣거나 놓은 내용은 서버로 전송되지 않습니다.
JSON 배열을 다시 반복되는 XML 태그로 바꾸려면 어떻게 하나요?
배열의 부모 객체에 값이 JSON 배열인 키를 주세요 — 예: `{"item": ["Milk", "Eggs"]}` — 그런 다음 JSON → XML 모드로 전환하면 배열의 각 항목마다 하나씩 `<item>` 요소가 생성됩니다. JSON의 최상위가 배열이거나 키가 두 개 이상이면 "루트 요소 이름" 필드를 사용하세요. XML은 단일 루트 태그가 필요하기 때문입니다.