본문으로 건너뛰기

XML을 JSON으로 변환

XML 문서를 JSON으로 바꿔요. 속성은 @키로, 반복되는 요소는 배열로, 숫자는 숫자 형식으로 변환하고, 브라우저에 내장된 XML 파서가 기기에서 바로 처리해요.

변환 형식
XML 파일을 끌어다 놓으세요XML은 최대 100 MB · JSON, CSV, XLSX, XLS, ODS는 최대 500 MB
파일 선택기기에서 처리되며 업로드되지 않아요
브라우저에서 실행 · 업로드 없음작동 방식

XML을 JSON으로 사용 방법

  1. 1

    XML 붙여넣기 또는 끌어다 놓기

    .xml 파일, RSS나 Atom 피드, SOAP 응답, 그 밖의 모든 XML 텍스트를 넣을 수 있어요. 선언에 적힌 인코딩을 따라요.

  2. 2

    JSON 형태 설정

    속성은 @키, 일반 키, 또는 제외 중에서 고르세요. 배열은 반복되는 요소에만 쓰거나 모든 곳에 쓸 수 있고, 숫자는 숫자형으로 바꾸거나 텍스트로 둘 수 있어요.

  3. 3

    JSON 복사

    보기 좋게 정렬하거나 한 줄로 압축한 JSON을 클립보드에 복사하거나 .json 파일로 다운로드하세요.

제한 및 Pro

XML 파일은 최대 100 MB까지, 붙여넣은 XML은 브라우저가 감당할 수 있는 크기라면 얼마든지 가능해요.

XML을 JSON으로 소개

XML을 JSON으로 바꾸는 이 도구는 API나 공공 포털, 오래된 연동 시스템에서 XML을 받았는데 코드에서는 JSON이 필요할 때 쓰기 좋아요. 문서의 루트 요소는 최상위의 유일한 키가 되고, 각 하위 요소는 속성이 돼요. 한 부모 아래에 여러 번 나오는 요소는 문서 순서대로 배열이 돼요.

JSON에는 속성이라는 개념이 없어서 처리 방식을 정해야 해요. 기본값은 속성을 @로 시작하는 키로 쓰는 방식이에요. <price currency="UZS">125000</price>는 {"@currency": "UZS", "#text": 125000}가 되고, 속성과 하위 요소가 구분되며 JSON을 다시 같은 XML로 되돌릴 수 있어요. 일반 키를 쓰면 객체가 더 짧아지고, 속성을 제외하면 관리용으로만 속성을 쓴 문서에 알맞아요.

값은 이렇게 처리해요. 형식 감지를 켜면 42와 3.5는 JSON 숫자가 되고 true/false는 불리언이 돼요. 하지만 숫자로 읽으면 값이 달라지는 것, 즉 앞에 0이 붙은 우편번호나 계좌번호, 15자리를 넘는 숫자는 문자열로 남아요. 빈 요소는 빈 문자열이 돼요.

네임스페이스는 쓰인 그대로(dc:title) 유지하거나, 접두사를 없애 키를 더 깔끔하게 만들 수 있어요. 이때 xmlns 선언도 함께 사라져요. "항상 배열 사용"을 켜면 모든 하위 요소가 같은 배열 형태가 되어, 어떤 레코드는 저자가 한 명이고 어떤 레코드는 세 명일 때 편해요.

변환되지 않는 항목은 주석, 처리 명령, DOCTYPE이에요. XHTML 문단처럼 인라인 태그가 섞인 텍스트는 하나의 문자열로 합쳐져요.

개인정보 보호

XML은 이 페이지의 백그라운드 워커에서 네트워크 요청 없이 분석해요. DTD나 외부 엔티티를 가져오지 않고, 문서가 기기 밖으로 나가지 않아요.

XML을 JSON으로: 자주 묻는 질문

JSON의 #text는 무슨 뜻인가요?
요소에 속성이나 하위 요소가 있으면서 자체 텍스트도 있으면, 그 텍스트를 담을 별도의 키가 필요해요. #text가 널리 쓰이는 관례예요. <title lang="en">Guide</title>는 {"@lang": "en", "#text": "Guide"}가 돼요. 텍스트만 있는 요소는 일반 값이 되어 <title>Guide</title>는 "title": "Guide"로 나와요.
숫자는 변환되나요, 문자열로 남나요?
"숫자와 true/false 인식"을 켜면 분명한 숫자와 불리언 값에 JSON 형식이 적용돼요. 007이나 우편번호처럼 앞에 0이 있는 값과 15자리를 넘는 숫자는 숫자로 바꾸면 값이 달라지므로 문자열로 남아요. 인식을 끄면 모든 값을 텍스트 그대로 유지해요.
soap:나 dc: 같은 네임스페이스는 어떻게 처리하나요?
기본적으로 접두사는 키의 일부로 남아서 dc:title은 "dc:title" 키가 되고, xmlns 선언은 @xmlns 속성으로 나타나요. "네임스페이스 접두사 제거"를 켜면 title로 바뀌고 선언도 빠져요. 서로 다른 네임스페이스가 같은 로컬 이름을 쓰면 키가 겹치므로, 이럴 땐 접두사를 유지하세요.
나중에 JSON을 다시 XML로 바꿀 수 있나요?
네. JSON to XML 페이지에서 대상을 XML로 바꾸세요. @로 시작하는 키는 속성, #text는 요소의 텍스트, 배열은 반복되는 요소가 돼요. 서로 다른 하위 요소 이름이 섞여 있었다면 부모 안의 순서가 바뀔 수 있고 주석은 사라지지만, 데이터 자체는 그대로 유지돼요.
JSON 대신 오류가 나오는 이유가 뭔가요?
XML이 올바른 형식이 아니라는 뜻이고, 메시지에 첫 번째 문제의 줄과 열이 표시돼요. &amp;로 써야 할 &, 순서가 틀리게 닫힌 태그, 따옴표 없는 속성 값, XML에 정의되지 않은 &nbsp; 같은 HTML 엔티티가 흔한 원인이에요. 해당 부분을 고친 뒤 다시 붙여넣으세요.

이 도구로 할 수 있는 다른 작업