WebTools

Useful Tools & Utilities to make life easier.

XML To JSON

XML 데이터를 다루기 쉬운 JSON 형식으로 변환합니다.

서식 옵션

XML To JSON

XML 데이터를 다루기 쉬운 JSON 형식으로 변환합니다.

XML → JSON 변환기란?

XML → JSON 변환기는 여는 태그와 닫는 태그로 이루어진 XML 문서를 중괄호와 대괄호로 표현하는 JSON 데이터로 바꿔 주는 도구입니다. 공공 데이터 개방 포털, 오래된 SOAP API, 각종 설정 파일(예: .xml)은 여전히 XML로 응답하는 경우가 많은데, 요즘 웹·앱 코드는 JSON을 다루기가 훨씬 편합니다. 이 도구는 그 사이를 이어, XML을 붙여 넣으면 같은 내용을 JSON 구조로 다시 써 줍니다.

변환할 때 XML만의 요소도 함께 옮깁니다. 태그에 붙은 속성(attribute)은 앞에 @를 붙인 키로, 태그 사이의 본문 텍스트#text 키로 들어갑니다. 이렇게 하면 XML이 담고 있던 정보를 빠뜨리지 않으면서 JSON으로 표현할 수 있습니다.

사용 방법

  1. 입력칸에 변환할 XML을 붙여 넣습니다. 최상위 태그가 하나인 올바른 XML이어야 합니다.
  2. 줄맞춤(pretty print)을 켜면 결과 JSON이 들여쓰기된 형태로 보기 좋게 나옵니다.
  3. 유니코드 풀기를 켜면 이 아니라 한글 으로 표시됩니다.
  4. 슬래시 풀기·CDATA 유지 옵션을 필요에 맞게 고른 뒤 변환하고, 결과를 복사합니다.

변환 예시와 옵션

아래는 짧은 XML이 JSON으로 바뀌는 모습입니다. 속성과 본문 텍스트가 어떻게 옮겨지는지 보여 줍니다.

입력 (XML)출력 (JSON)
<user id="7">
  <name>홍길동</name>
  <age>30</age>
</user>
{
  "@id": "7",
  "name": "홍길동",
  "age": "30"
}

각 옵션이 하는 일은 다음과 같습니다.

옵션하는 일
줄맞춤(pretty print)한 줄로 붙이지 않고 들여쓰기해 읽기 좋게 출력
유니코드 풀기 같은 이스케이프를 원래 한글로 되돌림
슬래시 풀기http:\/\/의 백슬래시를 없애 http://로 표시
CDATA 유지켜면 <![CDATA[...]]> 표시를 그대로 두고, 끄면 안쪽 값만 남김

참고로 XML 태그의 값은 모두 문자열로 옮겨집니다. 위 예시에서 나이 30"30"처럼 따옴표로 감싸진 이유가 그것입니다. XML에는 숫자·문자 구분이 없기 때문에, 변환 후 숫자로 다뤄야 한다면 코드에서 별도로 형을 바꿔 주면 됩니다.

자주 묻는 질문

속성이 왜 @로 시작하는 키가 되나요?

XML은 <user id="7">처럼 태그에 속성을 달 수 있지만, JSON에는 속성이라는 개념이 없습니다. 그래서 하위 요소와 헷갈리지 않도록 속성 키 앞에 @를 붙여 구분합니다. 이는 널리 쓰이는 관행으로, 코드에서 data["@id"]처럼 읽으면 됩니다.

한글이 \u로 시작하는 문자로 나와요.

유니코드 풀기 옵션이 꺼져 있을 때입니다. 이 옵션을 켜고 변환하면 홍길동처럼 이스케이프된 문자가 원래 한글로 되돌아옵니다. 한글 데이터라면 켜 두는 편이 읽기 편합니다.

변환 결과를 다시 XML로 되돌릴 수 있나요?

네. 반대 방향은 JSON → XML 변환기를 쓰면 됩니다. 다만 XML의 속성(@)이나 본문(#text)이 JSON으로 바뀐 상태에서 다시 XML로 옮기면 태그 구조가 처음과 완전히 같지 않을 수 있으니, 되돌린 결과는 확인해 보세요.

표(엑셀)로 열어 보려면 어떤 도구가 맞나요?

행과 열로 된 표로 다루고 싶다면 JSON을 거쳐 CSV로 바꾸는 편이 낫습니다. 먼저 이 도구로 JSON을 만든 뒤 JSON → CSV 변환기로 이어 가면 엑셀·구글 시트에서 바로 열 수 있는 표 파일이 됩니다.

더 알아보기

변환으로 얻은 JSON의 문법이 올바른지, 키·값 구조가 제대로 잡혔는지 확인하는 방법은 JSON 포맷터 가이드에 정리돼 있습니다. XML 원본에 닫히지 않은 태그가 있으면 변환이 멈추므로, 시작·종료 태그의 짝이 맞는지 먼저 살펴보는 것이 좋습니다.