무료 변환기

XML을 JSON 변환기

브라우저에서 XML 데이터나 파일을 JSON 형식으로 즉시 변환하세요. 사용자 정의 들여쓰기를 지원하고 중첩 구조를 처리합니다.

XML 파일 선택

아니면 여기로 드래그 앤 드롭하세요.

또는

이 도구에 대하여

XML과 JSON은 모두 데이터 교환 형식이지만 웹의 서로 다른 시대에서 유래되었습니다. 1998년에 표준화된 XML은 속성, 네임스페이스 및 스키마 유효성 검사를 갖춘 자체 설명적 마크업 형식으로 설계되었습니다. JSON은 2000년대 초반에 JavaScript 런타임과 최신 API에 더 적합한 경량 형식으로 등장했습니다. 대부분의 새로운 웹 API는 JSON을 사용합니다. SOAP 서비스, RSS 피드, 구성 파일, 엔터프라이즈 통합 등 많은 기존 시스템에서는 여전히 XML을 생성합니다. 이들 간의 변환은 현대 개발에서 가장 일반적인 상호 운용성 작업 중 하나입니다.

두 형식의 표현력이 다르기 때문에 변환이 완벽하게 무손실은 아닙니다. XML에는 기본적으로 JSON에는 없는 속성이 있고, 텍스트 콘텐츠와 요소 이름을 구별하며, 혼합 콘텐츠(텍스트와 하위 요소를 모두 포함하는 요소)를 지원합니다. JSON의 간단한 개체/배열 모델은 이러한 기능을 직접적으로 나타낼 수 없으므로 변환기는 규칙을 적용합니다. 속성은 @ 접두사가 붙은 키가 되고, 텍스트 콘텐츠는 #text 키가 됩니다.

이 변환기는 브라우저에 내장된 DOMParser를 사용하여 XML을 구문 분석하고 결과 DOM 트리를 탐색하여 JSON을 생성합니다. 형제와 동일한 태그 이름을 가진 요소는 배열로 수집됩니다. 속성은 특수 키에 들어갑니다. 네임스페이스 및 처리 지침이 있는 경우 보존됩니다. 결과는 합리적으로 XML로 다시 왕복되는 사람이 읽을 수 있는 JSON입니다.

XML을 JSON으로 변환하는 이유

대부분의 최신 애플리케이션 코드는 JSON을 사용하는 것이 더 편합니다. JavaScript는 JSON을 기본적으로 구문 분석하고, Python의 json 모듈은 표준 라이브러리에 있으며, 사실상 다른 모든 언어에는 동등한 일류 JSON 지원이 있습니다. XML을 처리하려면 추가 라이브러리를 가져오고 더 많은 상용구를 작성해야 합니다. 처리하기 전에 수신 XML을 JSON으로 변환하는 것이 외부 XML 피드에서 내부 데이터 구조로의 가장 빠른 경로인 경우가 많습니다.

도구는 또한 JSON을 활용합니다. JSON 미화자, 유효성 검사기, 스키마 유효성 검사기, 쿼리 언어(jq, JSONPath) 및 뷰어가 풍부합니다. XML 등가물은 더 적고 오래된 경우가 많습니다. JSON으로 작업하면 더욱 풍부한 도구 생태계가 열립니다.

사용 방법

XML을 붙여넣고 JSON을 가져옵니다.

  1. XML을 붙여넣거나 업로드하세요.: XML 텍스트를 입력 영역에 붙여넣거나 파일을 놓습니다. XML은 올바른 형식이어야 합니다. 잘못된 XML은 추측이 아닌 구문 분석 오류를 생성합니다.
  2. 변환: DOMParser는 DOM을 구축하고 변환기는 각 요소를 탐색하며 필요한 경우 속성 키(@attr) 및 텍스트 콘텐츠 키(#text)를 사용하여 JSON을 생성합니다. 이름이 같은 형제 요소는 배열이 됩니다.
  3. 구조 검토: JSON을 검사하여 속성, 텍스트 및 중첩이 예상대로 매핑되었는지 확인합니다. 사용된 규칙(예: 속성의 @)은 출력에 표시됩니다.
  4. 다운로드 또는 복사: .json으로 저장하거나 클립보드에 복사하세요.

일반적인 사용 사례

기술적인 세부사항

DOMParser는 브라우저가 XHTML 페이지에 사용하는 것과 동일한 XML DOM을 생성합니다. 변환기는 이 DOM을 재귀적으로 탐색합니다. 각 요소에 대해 JSON 객체를 생성합니다. 속성은 @ 접두사가 붙은 키가 됩니다(예: @id, @class). 요소의 하위 요소는 동일한 구조로 재귀됩니다. 어린이와 함께 있는 텍스트 콘텐츠는 #text 키 아래에 있습니다.

동일한 태그 이름을 가진 반복되는 하위 요소는 JSON 배열로 수집됩니다. 특정 이름의 단일 하위 항목이 개체 값으로 나타납니다. 여러 하위 항목이 객체 배열로 나타납니다. 이 규칙은 실제로는 잘 작동하지만 JSON 모양은 요소가 한 번 표시되는지 여러 번 표시되는지에 따라 달라집니다. 이는 알려진 XML-JSON 매핑의 불완전성입니다.

네임스페이스는 요소 이름(접두사:localName)의 일부로 보존됩니다. 처리 지침과 CDATA 섹션은 텍스트 콘텐츠로 변환됩니다. XML 선언과 DOCTYPE은 JSON 출력에서 ​​제거되지만 데이터에는 영향을 주지 않습니다.

모범 사례

자주 묻는 질문

XML을 JSON으로 변환하면 콘텐츠가 변경되나요?
내용은 최대한 정확하게 보존됩니다. 그러나 일부 형식별 기능에는 직접적인 상응 기능이 없을 수 있으므로 사소한 형식 차이가 발생할 수 있습니다.
데이터를 JSON 형식으로 변환하는 이유는 무엇입니까?
JSON은 웹 API 및 JavaScript 애플리케이션의 표준 데이터 형식입니다. 이는 사람이 읽을 수 있고 프로그래밍 언어에서 널리 지원되며 XML보다 구문이 더 간단합니다.
변환기가 중첩되거나 복잡한 XML 구조를 처리합니까?
예. 이 도구는 중첩된 개체, 배열 및 모든 표준 XML 데이터 유형을 올바르게 구문 분석하여 JSON 출력에서 ​​전체 데이터 구조를 유지합니다.
이 변환은 안전하고 비공개인가요?
예. 모든 처리는 귀하의 브라우저에서 로컬로 이루어집니다. 귀하의 데이터는 귀하의 장치를 떠나지 않습니다. 서버 업로드, 클라우드 처리, 데이터 수집이 없습니다.
CDATA 섹션이 처리됩니까?
예. CDATA 콘텐츠는 JSON 출력에서 ​​일반 텍스트로 변환됩니다. CDATA 래핑 자체는 보존되지 않지만 콘텐츠는 보존됩니다.
내 데이터가 서버에 업로드되나요?
아니요. DOMParser는 브라우저에서 실행됩니다. 전환은 전적으로 귀하의 장치에서 발생합니다.
JSON이 XML로 다시 왕복됩니까?
예, 반대 규칙을 사용하는 경우입니다(JSON to XML 도구는 동일한 @attr 및 #text 규칙을 따릅니다). 왕복은 일반적인 XML의 구조를 유지합니다. 일부 극단적인 경우(혼합 콘텐츠 주문, 처리 지침)가 완벽하게 유지되지 않을 수 있습니다.
최대 입력 크기는 얼마입니까?
최대 50MB. DOMParser는 브라우저에 따라 메모리 제한이 있습니다. 매우 큰 XML 파일은 속도가 느려지거나 구문 분석에 실패할 수 있습니다.