KO
내 도구

JSON XML 변환기

JSON을 올바른 형식의 XML로 변환합니다. 객체는 요소로, 배열은 반복 요소로, @로 시작하는 키는 속성으로 바뀝니다. 루트 이름과 들여쓰기도 고를 수 있습니다.

비워 두면 최상위 키가 하나일 때 그 키(여기서는 "library")를 루트로 사용합니다.
배열이 최상위에 있거나 다른 배열 바로 안에 있을 때 사용합니다.
XML
요소 수
11
이름을 바꾼 키
0
내 도구 →
광고

SOAP 서비스, RSS와 사이트맵 도구, 오피스 문서 형식, 기업 시스템 연동처럼 오래된 시스템은 아직도 XML을 사용하지만, 요즘 API는 JSON을 돌려줍니다. 이 변환기는 JSON을 올바른 형식의 XML로 바꿉니다. 객체의 키는 요소가 되고, 배열의 각 항목은 배열 이름을 가진 반복 요소가 되며, 특수 문자는 이스케이프하므로 결과는 항상 파싱할 수 있습니다. @로 시작하는 키는 널리 쓰이는 Goessner 규칙에 따라 속성이 될 수 있습니다.

사용 방법

  1. JSON을 붙여 넣습니다.
  2. JSON의 최상위 키가 하나라면 루트 이름을 비워 두고, 모든 내용을 한 요소로 감싸려면 이름을 입력합니다.
  3. 들여쓰기를 고릅니다. 한 줄로 압축한 XML을 원하면 "없음"을 선택합니다.
  4. JSON이 XML→JSON 변환 도구에서 나온 것이라면 @ 속성 옵션을 켠 채로 두고 결과를 복사합니다.

계산식

{"k": value} → <k>value</k>; {"k": [a, b]} → <k>a</k><k>b</k>; {"@id": "7"} → id="7"; null → <k/>.

텍스트는 이스케이프됩니다(& → &amp;, < → &lt;, > → &gt;, 속성 안의 " → &quot;). "first name"이나 "2nd"처럼 XML 이름으로 쓸 수 없는 키는 밑줄이 붙어("first_name", "_2nd") 결과 아래에 목록으로 표시됩니다. 콜론과 xmlns는 이름이 바뀌며, 이 변환은 XML 네임스페이스를 만들지 않습니다. 이름을 바꾼 뒤 키가 겹치는 경우와 짝이 맞지 않는 서로게이트는 거부합니다.

예시

예시의 library에는 최상위 키가 하나뿐이므로 library가 루트가 됩니다. "@name"은 속성 name="City Branch"가 되고, 항목이 두 개인 "book" 배열은 id 속성을 가진 <book> 요소 두 개가 되며, 각 요소에는 <title>, <author>, <year>, <available>이 들어갑니다. 요소는 모두 11개입니다. library 1개, book 2개, book마다 하위 요소 4개입니다.

자주 묻는 질문

JSON 배열은 어떻게 표현되나요?

XML에는 배열 형식이 없으므로 각 항목을 배열의 키 이름을 가진 별도 요소로 씁니다. 다른 배열 바로 안에 있거나 최상위에 있는 배열은 직접 정한 항목 이름(기본값 <item>)을 사용합니다.

자식 요소 대신 속성으로 만들 수 있나요?

네. JSON에서 키 앞에 @를 붙이세요(예: {"@id": "7"}). "#text" 키는 속성과 함께 요소 자체의 텍스트 내용을 지정합니다.

다시 변환하면 같은 JSON이 되나요?

항상 그렇지는 않습니다. XML은 모든 것을 텍스트로 저장하므로 1965와 "1965"가 같아 보이고, 항목이 하나뿐인 배열은 자식 하나와 구별되지 않습니다. 정확히 왕복 변환해야 한다면 스키마를 따로 보관하세요.

출력은 유효한 XML인가요?

이 변환기는 이스케이프된 텍스트를 가진 루트 하나를 만듭니다. XML 1.0에서 금지된 제어 문자는 안내와 함께 제거하고, 이름이 겹치면 거부하며, 속성값의 공백은 문자 참조로 보존합니다. XSD 검증은 별개입니다.

출처

최종 업데이트:

인용·퍼가기
APA

kakaoCalc. (2026, November 8). JSON XML 변환기. https://kakao.mobile/ko/tools/json-to-xml-tool/

MLA

“JSON XML 변환기.” kakaoCalc, 8 Nov. 2026, kakao.mobile/ko/tools/json-to-xml-tool/.

광고