JSON XML 변환기
JSON 데이터를 올바른 XML로 바꾸세요.
브라우저에서 실행됩니다. 입력한 내용은 어디로도 전송되지 않습니다.
- 루트 요소 이름 지정
- 항상 정상적인 형식
- 업로드 없음
JSON을 XML로 변환하는 방법
- JSON을 붙여넣거나 업로드하세요.
- 루트 요소의 이름을 입력하세요.
- XML을 복사하거나 다운로드하세요.
예시: JSON을 입력, XML을 출력
| JSON | XML |
|---|---|
| {"name":"Sam"} | <root><name>Sam</name></root> |
| {"@_id":"5","#text":"Widget"} | <root id="5">Widget</root> |
| {"tag":["a","b"]} | <root><tag>a</tag><tag>b</tag></root> |
JSON 키가 태그 이름이 되는 방식
- 공백처럼 XML이 이름에 허용하지 않는 문자는 _로 바뀌어 "first name"은 first_name이 됩니다.
- XML 이름은 숫자로 시작할 수 없으므로 숫자로 시작하는 키는 앞에 _가 붙습니다.
- 이름이 바뀐 키와 충돌하면 번호가 덧붙어 두 번째 first_name은 first_name_2가 됩니다.
JSON to XML이 유용한 경우
- XML만 받는 오래된 시스템이나 API에 데이터를 전달할 때.
- JSON 데이터 소스로 RSS 형식 같은 작은 피드를 만들 때.
- JSON 데이터가 SOAP나 레거시 XML 요청 본문으로 어떻게 보일지 확인할 때.
알아둘 제한 사항
- XML에는 정확히 null을 뜻하는 것이 없으므로 JSON의 null은 빈 요소가 됩니다.
- XML 태그 이름은 대소문자를 구분하므로 Name과 name처럼 대소문자만 다른 키는 서로 다른 태그가 됩니다.
- 숫자와 불리언은 XML 안에서 일반 텍스트로 쓰입니다. 원래 타입으로 되돌리려면 읽는 쪽에서 직접 해석해야 합니다.
JSON XML 변환 자주 묻는 질문
배열은 XML에서 어떻게 쓰이나요?
배열의 각 항목은 자신의 키 이름을 딴 반복 요소가 됩니다. 최상위 배열은 루트 아래에서 item 요소로 감싸집니다.
속성은 어떻게 만드나요?
"@_id": 5처럼 키를 @_로 시작하면 부모 요소의 속성이 됩니다. 이는 XML to JSON 변환기의 출력 방식과 일치합니다.
키가 유효한 XML 태그 이름이 아니면 어떻게 되나요?
공백처럼 XML이 이름에 허용하지 않는 문자는 _로 바뀌고, 숫자로 시작하는 이름은 앞에 _가 붙습니다. 그래서 "first name"은 first_name이 됩니다.
XML to JSON을 거쳐 다시 되돌릴 수 있나요?
네. 속성 옵션을 켠 XML to JSON 변환기가 만든 JSON은 @_ 키와 #text 값까지 포함해 여기서 다시 같은 XML로 변환됩니다.
태그 목록처럼 단순 값으로 된 JSON 배열은 어떻게 되나요?
각 값이 배열의 키 이름을 딴 반복 요소가 됩니다. 예를 들어 tag라는 키 아래 ["a","b"] 배열은 <tag>a</tag><tag>b</tag>가 됩니다.
출력에 XML 선언이 포함되나요?
네. 모든 결과는 자신만의 줄에서 <?xml version="1.0" encoding="UTF-8"?>으로 시작합니다.
텍스트 안의 <나 & 같은 특수문자도 이스케이프되나요?
네. 텍스트나 속성 값 안에서 XML 구문을 깨뜨릴 수 있는 문자는 자동으로 이스케이프되어 결과가 항상 문제없이 다시 해석됩니다.
배열 안의 객체를 또 다른 객체 안에 중첩할 수 있나요?
네. 객체와 배열이 어떤 깊이와 조합으로 중첩되어 있어도 변환되며, 각 단계는 자신만의 중첩된 요소 집합이 됩니다.