Inspect markup data

XML Formatter·JSON 변환기

XML 문법을 검사해 보기 좋게 정리하고 속성·텍스트·반복 요소를 보존하는 규칙으로 JSON과 변환합니다.

최대 500,000자이며 입력 내용은 서버로 전송하지 않습니다.

광고

XML Formatter·JSON 변환기 작동 원리

XML Formatter는 브라우저 DOMParser로 문법을 검사하고 XMLSerializer로 표준화한 뒤 요소의 깊이에 따라 들여쓰기를 적용합니다. XML을 JSON으로 바꿀 때 요소 이름은 객체 키, 속성은 @로 시작하는 키, 요소 사이의 텍스트는 #text로 표시합니다. 이름이 같은 자식 요소가 반복되면 배열로 만듭니다. JSON에서 XML로 돌아갈 때도 같은 규칙을 사용하므로 단순한 문서 구조는 왕복 변환하기 쉽습니다. XML 네임스페이스와 혼합 콘텐츠처럼 복잡한 구조는 일반 객체 모델과 정확히 일대일 대응하지 않을 수 있습니다.

이 페이지의 계산과 변환은 모두 현재 브라우저에서 실행됩니다. 원문과 결과를 ReadyTools 서버에 전송하거나 데이터베이스에 저장하지 않으며, 입력 내용은 localStorage에도 기록하지 않습니다. 다만 운영체제나 브라우저의 클립보드 기록, 확장 프로그램, 화면 공유 기능은 사이트 밖의 영역이므로 민감한 데이터는 테스트용으로 바꾸어 사용하는 편이 안전합니다.

XML Formatter·JSON 변환기 사용 방법

입력 형식 확인

페이지에 표시된 입력 예시와 형식을 확인하고 분석하거나 변환할 데이터를 붙여 넣습니다. 오류 안내가 나오면 강조된 항목의 문법과 범위를 먼저 확인하세요.

브라우저에서 실행

실행 버튼을 누르면 외부 API 호출 없이 현재 탭에서 처리됩니다. 모바일에서는 완료 후 결과 카드로 자동 이동하며 키보드만으로도 모든 항목을 조작할 수 있습니다.

결과 검토·복사

결과의 구조와 주의사항을 확인한 뒤 복사 버튼을 사용합니다. 실제 프로젝트에 반영하기 전에는 대상 언어, 서비스와 데이터 규칙에 맞는지 다시 테스트하세요.

구체적인 상황으로 이해하는 활용 예시

다음 세 상황은 도구의 처리 과정과 결과 해석을 설명하기 위한 가상 예시입니다. 입력 조건을 바꾸면 결과도 달라지므로 자신의 조건과 비교해 확인하세요.

1. 문자만 있는 XML을 JSON으로 변경

<root><count>2</count></root>를 변환하면 root 안의 count 값은 문자열 "2"로 표현됩니다. XML 요소의 텍스트를 읽는 규칙이며 숫자 2로 자동 추론하지 않습니다. 대상 API가 숫자를 요구한다면 변환 뒤 스키마에 맞게 자료형을 확인해야 합니다.

2. 동일한 이름의 요소 두 개를 변환

<root><item>A</item><item>B</item></root>에서는 item이 두 번 나타나 JSON 배열로 묶입니다. item 하나만 있을 때와 두 개일 때의 결과 형태가 달라질 수 있으므로 원소 수가 변하는 문서에서 배열 여부를 확인해야 합니다. XML과 JSON의 구조가 항상 일대일로 대응하는 것은 아닙니다.

3. JSON의 루트 키 개수 확인

{"root":{"count":2}}처럼 루트 키가 하나인 객체는 XML 문서의 root 요소 아래에 count를 표현할 수 있습니다. 반면 {"a":1,"b":2}처럼 루트 키가 둘이면 도구의 입력 조건에 맞지 않습니다. XML은 문서 루트 요소가 하나여야 하므로 필요한 상위 키를 정한 뒤 변환하세요.

레거시 API 응답, RSS 일부, 설정 문서와 전자문서 샘플을 읽기 쉽게 정리할 때 사용할 수 있습니다. JSON 변환 결과에서 @id는 XML 속성 id, #text는 해당 요소의 직접 텍스트를 의미합니다. JSON에서 XML을 만들 때는 최상위 루트 키가 정확히 하나 있어야 합니다. 변환은 구조 확인과 테스트 데이터 준비를 위한 보조 기능이며 XSD 검증, XPath 실행, 디지털 서명 또는 네임스페이스 스키마 검사를 수행하지 않습니다.

주의사항

DOCTYPE, 외부 엔터티, 복잡한 네임스페이스와 혼합 콘텐츠는 대상 시스템에서 반드시 재검증하세요. 포매팅 과정에서 선언부 표현이나 빈 요소 표기가 달라질 수 있지만 의미는 같을 수 있습니다. 서명된 XML은 공백과 직렬화 변화로 검증이 실패할 수 있으므로 이 도구로 다시 저장하면 안 됩니다.

광고

XML Formatter·JSON 변환기 FAQ

XML 속성은 JSON에서 어떻게 표시되나요?

속성 이름 앞에 @를 붙입니다. 예를 들어 id 속성은 @id 키가 됩니다.

같은 이름의 요소가 반복되면 어떻게 되나요?

같은 부모 안에서 반복되는 요소는 JSON 배열로 변환합니다.

XSD 스키마 검증도 하나요?

아니요. XML 문법을 파싱하지만 XSD나 DTD 규칙에 따른 유효성 검사는 제공하지 않습니다.

입력한 데이터가 서버에 저장되나요?

아니요. 입력과 변환은 현재 브라우저의 JavaScript에서만 처리합니다. 원문과 결과를 서버나 데이터베이스로 전송하지 않으며 localStorage에도 저장하지 않습니다.

큰 파일이나 긴 코드를 넣어도 되나요?

브라우저 멈춤과 메모리 사용을 줄이기 위해 텍스트 입력은 500,000자로 제한합니다. 대용량 로그나 프로젝트 전체 파일은 전용 로컬 개발 도구에서 나누어 처리하세요.

광고

관련 개발 도구