{ }JSONKit.tools

XML → JSON 변환기

XML을 붙여넣으면 JSON이 돌아옵니다. 속성은 @ 접두사가 붙은 키로 보존되고, 반복되는 요소는 배열로 모입니다. 무효한 XML은 행과 열과 함께 알려 줍니다.

XML → JSON⇄JSON → XML

XML

JSON

입력을 기다리는 중…

이 도구에 대하여

XML은 두 종류의 데이터를 담지만 JSON에는 그 자리가 하나뿐입니다. 자식 요소와 속성입니다. 이 변환기는 속성 이름 앞에 @를 붙여 둘 다 보존하므로 잃는 것이 없고 둘을 구분할 수도 있습니다. 반복되는 형제 요소는 배열로 합쳐집니다. JSON은 같은 키를 반복할 수 없기 때문입니다. 문서는 파싱 전에 검증되므로 짝이 맞지 않는 태그가 있으면 반쯤 변환된 객체 대신 행 번호를 돌려줍니다.

사용 방법

  1. 1XML 문서를 왼쪽 패널에 붙여넣습니다.
  2. 2오른쪽에서 JSON을 읽습니다. 속성은 @이름 키로 나타납니다.
  3. 3출력을 트리로 바꿔 깊은 문서를 접거나, 복사를 누릅니다.

자주 묻는 질문

›XML 속성은 어떻게 되나요?

요소와 같은 객체 위에서 @가 붙은 키가 됩니다. <user id="7">은 { "user": { "@id": "7" } }이 됩니다. 사라지는 것이 없고, 속성과 자식 요소를 한눈에 구분할 수 있습니다.

›반복된 요소가 배열이 된 이유는?

JSON에는 같은 키를 반복할 방법이 없기 때문입니다. <item>이 하나면 객체이고, 둘 이상이면 객체 배열이 됩니다. 같은 스키마라도 데이터에 따라 JSON 모양이 달라지는 유일한 지점입니다.

›변환을 되돌릴 수 있나요?

대체로 가능합니다. 요소와 속성, 텍스트는 왕복해도 남습니다. 남지 않는 것은 주석, 처리 명령, 네임스페이스 선언 자체, 그리고 빈 요소와 빈 문자열의 차이입니다.

›여기서 무효한 XML은 무엇인가요?

닫히지 않았거나 짝이 맞지 않는 태그, 둘 이상의 루트 요소, 텍스트에 섞인 < 나 &, 따옴표 없는 속성값입니다. 오류가 행과 열을 알려 주므로 바로 이동할 수 있습니다.

›XML 안의 숫자도 변환되나요?

됩니다. 유효한 숫자나 불리언인 텍스트는 따옴표 붙은 문자열이 아니라 JSON 숫자나 불리언이 됩니다. 결과를 코드로 넘길 때 대개 그것이 원하는 형태입니다.