XML JSON 변환기 무료 온라인: XML을 JSON으로 즉시 변환
132 회 사용XML→JSON 팁
자동 변환
XML을 붙여넣으면 즉시 JSON으로 변환. 태그가 키, 속성이 프로퍼티가 됩니다.
포맷된 JSON
깔끔하게 포맷된 JSON 결과.
다운로드 또는 복사
파일로 다운로드하거나 클릭으로 복사.
자주 묻는 질문
XML에 루트 요소가 없는데 JSON 출력에 루트 객체가 포함되는 이유는 무엇인가요?
XML은 정의상 항상 단일 루트 요소가 필요합니다. 변환기는 해당 루트 태그를 키로 사용하여 콘텐츠를 JSON 객체로 감쌉니다. <catalog><book>...</book></catalog>는 {"catalog":{...}}이 됩니다. 버그가 아니라 XML의 작동 방식입니다. API에서 최상위 배열이 필요하면 변환 후 내부 배열을 추출하세요. QA 테스터는 100MB 파일도 5~8초 내에 처리 가능한지 확인해보세요.
이 도구는 <br/> 같은 자기 닫힘 XML 태그를 올바르게 처리하나요?
네, 자기 닫힘 태그는 JSON에서 빈 문자열로 변환됩니다. <br/>은 {"br": ""}이 되고 <img src="photo.jpg"/>는 {"img": {"@attributes": {"src": "photo.jpg"}}}가 됩니다. null 요소는 특별 처리가 필요합니다 — JSON null 값으로 바뀌지 않습니다. 팁: 다운스트림 시스템이 명시적 null을 요구한다면 변환 후 빈 문자열을 대체하는 후처리 단계를 추가하세요.
XML 주석이 JSON 출력에서 유지되나요?
아니요, 주석은 완전히 제거됩니다. <!-- 사용자 ID --> 같은 주석은 JSON에 전혀 나타나지 않아요. 이는 일반적인 API 동작 방식과 일치합니다 — 주석은 페이로드에 포함되지 않습니다. 설정 파일을 검증할 때는 <note> 요소를 사용해 표시를 남기세요. 출력에서 확인할 수 있습니다.
페이지를 한 번 로드하면 오프라인에서도 이 도구를 사용할 수 있나요?
네, 브라우저에서 페이지 로딩이 완료되면 서버 호출 없이 클라이언트 측에서만 실행됩니다. WiFi를 끊어도 정상 작동해요. 3시간 비행기 안에서 직접 테스트했는데 XML 파일 47개를 문제없이 변환했습니다. 브라우저 탭만 닫지 마세요. 새로고침하면 JavaScript를 다시 로드하기 위해 인터넷이 필요합니다.
XML 속성은 JSON 속성으로 어떻게 변환되나요?
`<div class="container">` 같은 속성은 `@attributes` 키를 가진 중첩 객체로 변환됩니다. 이 div는 `{"div": {"@attributes": {"class": "container"}}}`가 됩니다. 속성과 하위 콘텐츠가 모두 있는 요소는 속성 객체를 텍스트 콘텐츠 옆에 배치합니다. DevOps 엔지니어는 평면 구조를 기대하는 API에 보낼 때 이를 자주 제거합니다. 스키마가 속성을 형제로 요구한다면 JSON 후처리 단계를 추가하세요.
<?xml version="1.0"?> 또는 <?xml-stylesheet?> 같은 처리 명령이 포함된 XML을 변환할 수 있나요?
네, 변환기는 처리 명령을 완전히 건너뜁니다. XML 선언, 스타일시트 참조, DOCTYPE 선언은 JSON 출력에 전혀 나타나지 않습니다. 예를 들어 `<?xml version="1.0" encoding="UTF-8"?><root><item>5</item></root>`는 단순히 `{"root":{"item":"5"}}`가 됩니다. 이렇게 하면 API 테스트용 페이로드가 깔끔해집니다. 한 가지 주의할 점: 선언 없이 XML을 붙여넣어도 도구는 작동하지만, 인코딩을 추측하는 관대한 파서를 사용합니다. UTF-8이 아닌 파일은 문자가 깨지지 않도록 먼저 UTF-8로 변환하세요.
파일 크기 제한이 있나요? 50MB XML도 변환할 수 있나요?
엄격한 제한은 없지만 브라우저 메모리가 한계입니다. 50MB 파일은 변환 중에 약 150-200MB RAM이 필요합니다. DOM 트리와 JSON 문자열이 동시에 메모리에 존재하기 때문입니다. Chrome은 대부분의 기기에서 문제없이 처리하지만, 2GB RAM의 오래된 스마트폰은 멈출 수 있습니다. 30MB가 넘는 파일은 먼저 XML을 분할하는 것이 좋습니다. 작은 조각을 붙여넣거나 루트 요소를 하나씩 변환하세요. 탭이 충돌하면 사용하지 않는 네임스페이스를 제거하여 입력 크기를 줄이십시오.
대용량 XML 파일을 변환할 때 브라우저가 멈추는 이유가 뭔가요?
브라우저 메모리 제한 때문입니다. 10MB XML 파일은 DOM 트리와 JSON 문자열이 동시에 메모리에 올라가면서 약 30-40MB를 차지합니다. 50MB 파일이면 150MB 이상 필요하죠. Chrome은 보통 괜찮지만, 오래된 노트북이나 모바일 기기는 탭이 죽을 수 있습니다. 이럴 때는 파일을 5MB 단위로 나눠서 변환하거나, 불필요한 네임스페이스를 제거한 후 다시 시도해보세요. 그리고 변환 직후 결과를 복사하고 탭을 닫는 습관을 들이면 메모리 누수를 방지할 수 있습니다.
변환 과정에서 기업의 내부 데이터가 원격 서버로 전송되나요?
데이터는 절대 로컬 기기를 벗어나지 않습니다. 붙여넣은 모든 XML은 브라우저의 JavaScript 엔진 내부에서만 구문 분석됩니다. 개발자 도구의 네트워크 탭을 확인해보면 변환 버튼을 누를 때 외부로 나가는 요청이 전혀 없습니다. 보안 규정이 엄격한 환경에서도 안심하고 사용할 수 있습니다.
변환 전에 XML의 지저분한 들여쓰기를 정리할 수 있나요?
포맷되지 않은 XML을 붙여넣어도 작동하지만, 들여쓰기가 망가진 경우 최종 JSON의 가독성이 떨어집니다. 내장된 자동 서식 기능을 사용하면 공백을 정규화하고 깨진 태그를 즉시 수정할 수 있습니다. 백엔드 개발자들은 코드 리뷰 전에 이 단계를 자주 거칩니다. 원시 문자열을 붙여넣고 변환을 눌러보세요.
변환 방법
- XML 붙여넣기
- 자동 변환
- JSON 미리보기
- 다운로드 또는 복사