XML ↔ JSON 변환기
XML 문서와 JSON 상호 변환, 속성까지 보존
로컬 실행
loading…
이 도구에 대해
레거시 SOAP 응답, RSS 피드, Maven POM을 JavaScript, jq, JSON 네이티브 API에 넘기기 위해 XML을 JSON으로 변환하거나 — 반대 방향으로 JSON 데이터에서 XML을 만들어 냅니다. 속성은 보존됩니다. 속성은 "@_name" 키가 되고, 속성과 함께 있는 텍스트 내용은 "#text" 아래에 담기므로 어떤 정보도 소리 없이 사라지지 않습니다.
두 형식은 근본에서 서로 어긋나며, 이 변환기는 표준적이고 실용적인 선택을 합니다. 이름이 같은 반복 형제 요소는 JSON 배열로 접히고, 숫자처럼 보이는 값은 숫자가 되며, 네임스페이스는 요소 이름의 일부로 함께 이동합니다. 일반적인 문서라면 XML → JSON → XML 왕복에서 구조와 내용이 보존됩니다.
양방향 모두 브라우저에서 로컬로 실행됩니다. 인보이스 피드나 API 응답을 붙여넣어도 어디로도 가지 않습니다.
자주 묻는 질문
- 왜 일부 값이 문자열 대신 숫자로 돌아오나요?
- 파서가 숫자 형태의 텍스트를 인식해 변환하는데, 대부분의 소비자가 원하는 동작입니다. 앞자리가 0인 식별자(상품 코드, 전화번호)는 조심하세요 — 데이터에 중요하다면 변환 후 따옴표로 감싸거나 출력을 시작점으로만 취급하세요.
- 반복 요소는 어떻게 처리되나요?
- 이름이 같은 형제가 둘 이상이면 그 키 아래 JSON 배열이 됩니다. 한 번만 등장하면 평범한 객체로 남습니다 — 이 비대칭은 매핑에 내재한 것이므로, JSON을 소비하는 코드는 두 형태를 모두 허용하거나 먼저 정규화해야 합니다.
- @_ 와 #text 키는 무슨 뜻인가요?
- @_ 는 원래 XML 속성이었음을 표시하고, #text 는 속성이 함께 있을 때의 요소 텍스트를 담습니다. 같은 관례를 JSON → XML 방향에 그대로 넣으면 원래 마크업이 재구성됩니다.
- 왜 JSON → XML이 최상위 배열을 거부하나요?
- XML 문서에는 루트 요소가 정확히 하나 있어야 하는데, 맨몸의 배열에는 루트가 없습니다. 배열을 객체로 감싸면 — {"items": {"item": [...]}} — 정형 문서가 만들어집니다.