최근 사용한 도구가 없습니다
즐겨찾기한 도구가 없습니다

XML JSON 변환기 무료 온라인: XML을 JSON으로 즉시 변환

68 회 사용

XML→JSON 팁

자동 변환
XML을 붙여넣으면 즉시 JSON으로 변환. 태그가 키, 속성이 프로퍼티가 됩니다.
포맷된 JSON
깔끔하게 포맷된 JSON 결과.
다운로드 또는 복사
파일로 다운로드하거나 클릭으로 복사.

자주 묻는 질문

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

변환 방법

관련 도구