JSON을 XML로 변환
무료 온라인 JSON to XML 도구입니다. JSON 객체는 <root>, 배열은 <root><item> 구조로 감싸고, 읽기 좋은 XML을 브라우저 안에서 바로 생성합니다.
관련 추천
JSON to XML 소개: JSON 데이터를 표준 XML 로 변환
JSON to XML 변환은 JSON 데이터를 XML 문서 형태로 옮기는 작업입니다. SOAP 나 기업 통합에서는 여전히 XML 이 많이 쓰입니다.
이 도구는 xmlbuilder2 를 사용해 JSON key 를 XML 요소 이름으로, value 를 요소 텍스트로 바꿉니다.
배열은 XML 에 기본 배열 타입이 없기 때문에 <item> 반복 노드로 표현하고, 바깥쪽은 <root> 로 감쌉니다.
prettyPrint 가 기본으로 켜져 있어 결과가 들여쓰기와 줄바꿈을 포함한 읽기 쉬운 XML 로 나옵니다.
숫자와 불리언은 XML 에서 문자열처럼 표현됩니다. 타입을 엄격히 유지하려면 XSD 같은 schema 를 함께 써야 합니다.
모든 처리가 브라우저 안에서 끝나므로 민감한 JSON 도 서버 업로드 없이 XML 로 바꿀 수 있습니다.
사용 사례
- REST API JSON 응답을 XML 만 받는 기업 시스템으로 전달.
- SOAP 메시지 body 에 넣을 XML payload 준비.
- JSON 설정에서 RSS 나 sitemap.xml 생성 전처리.
- JSON fixture 를 XML 로 바꿔 레거시 XML 코드 테스트.
- JSON 과 XML 매핑 관계를 설명하는 학습 자료로 활용.
이용 방법
- 왼쪽에 JSON 을 붙여넣거나 .json/.txt 파일을 업로드합니다.
- 약 400ms 후 오른쪽에 XML 이 자동 생성됩니다.
- 필요하면 Format 버튼으로 JSON 을 정리합니다.
- XML 을 복사하거나 output.xml 로 저장합니다.
- 필요한 경우 root 이름이나 namespace 를 수동 수정합니다.
주요 기능
- 객체는 <root>, 배열은 <root><item> 으로 자동 래핑.
- xmlbuilder2 기반 prettyPrint 출력.
- 입력 후 약 400ms 안에 자동 변환.
- tryFixJSON 으로 흔한 JSON 오류 복구.
- 깊은 중첩 구조도 재귀적으로 변환.
- JSON/XML 문법 하이라이트 지원.
- 복사, 다운로드, 히스토리 복원 지원.
- 모든 처리를 브라우저 안에서만 수행.
자주 묻는 질문
JSON을 XML로 어떻게 바꾸나요?
왼쪽 입력창에 JSON을 붙여넣으면 표준 XML로 자동 변환됩니다. 객체는 <root>, 배열은 <root><item>...</item></root> 구조로 출력되며 약 400ms 뒤 결과가 갱신됩니다.
JSON 배열은 XML에서 어떻게 표현되나요?
배열은 바깥쪽 <root> 와 반복되는 <item> 노드로 감싸집니다. SOAP나 RSS 같은 XML 데이터 교환 패턴과 잘 맞습니다.
생성된 XML은 정렬되어 나오나요?
네. xmlbuilder2 의 prettyPrint 모드로 들여쓰기와 줄바꿈이 포함된 XML을 생성합니다.
어떤 JSON 구조를 지원하나요?
null, boolean, number, string, 중첩 객체와 여러 단계 배열을 지원합니다. 함수나 undefined 는 변환할 수 없습니다.
JSON 파싱이 실패하면 어떻게 하나요?
후행 쉼표, 작은따옴표 같은 흔한 문제는 tryFixJSON 이 자동으로 복구를 시도합니다. 실패하면 오류 위치와 원인을 보여줍니다.
루트 이름을 바꿀 수 있나요?
기본값은 root 와 item 입니다. 다른 이름이 필요하면 생성된 XML을 편집하거나 JSON 을 한 단계 감싸서 조정하세요.
namespace 나 attribute 를 지원하나요?
자동으로 넣어주지는 않습니다. 필요하면 생성된 XML을 수동 편집해야 합니다.
입력 파일과 단축키는 무엇인가요?
.json 과 .txt 를 읽을 수 있고, 변환/포맷/업로드/다운로드/초기화 단축키를 지원합니다.
문제 해결
root 이름을 바꿀 수 있나요?
자동으로는 안 됩니다. 출력 후 치환하거나 JSON 을 한 단계 감싸서 조정하세요.
XML 에서 unclosed token 오류가 납니다
입력 문자열 안의 < 또는 & 가 원인일 수 있습니다. 보통 자동 이스케이프되지만 원본 값도 확인하세요.
item 대신 다른 배열 태그를 쓰고 싶어요
생성된 XML 에서 <item> 을 일괄 치환하는 방식이 가장 간단합니다.
숫자가 문자열로 바뀝니다
XML 에는 기본 숫자 타입이 없기 때문입니다. 필요하면 XSD 로 타입을 보완하세요.
한글이나 emoji 가 있어도 괜찮나요?
네. UTF-8 과 Unicode 를 지원하므로 정상적으로 변환됩니다.
용어집
- JSON (JavaScript Object Notation)
- 객체와 배열을 표현할 수 있는 가벼운 데이터 교환 형식입니다.
- XML (eXtensible Markup Language)
- 태그 구조로 데이터를 표현하는 확장형 마크업 언어입니다.
- xmlbuilder2
- XML 문서를 만드는 JavaScript 라이브러리이며 이 도구의 핵심 엔진입니다.
- Node wrapping (root / item)
- 이 도구는 객체를 root, 배열 요소를 item 으로 감싸는 규칙을 씁니다.
- prettyPrint
- XML 에 들여쓰기와 줄바꿈을 넣어 읽기 좋게 만드는 출력 모드입니다.
- SOAP (Simple Object Access Protocol)
- XML 기반 웹 서비스 통신 규약으로 기업 시스템에서 자주 사용됩니다.
- XPath
- XML 문서 안의 노드를 경로로 찾는 질의 언어입니다.
- tryFixJSON
- 흔한 JSON 문법 오류를 자동으로 고쳐 보려는 내장 루틴입니다.
JSON to XML 매핑 규칙
이 도구가 사용하는 기본 변환 규칙입니다.
| JSON 값 | 예시 | XML 요소 | 규칙 |
|---|---|---|---|
string | "Alice" | <name>Alice</name> | 문자열을 그대로 요소 텍스트로 사용 |
number | 30 | <age>30</age> | 숫자를 문자열 형태로 출력 |
boolean | true | <isActive>true</isActive> | true/false 문자열로 변환 |
object | {"a":1} | <root><a>1</a></root> | 객체를 <root> 로 감싸고 key 를 자식 요소로 변환 |
array | [{"a":1}] | <root><item><a>1</a></item></root> | 배열을 <item> 반복 노드로 변환 |
nested object | {"user":{"name":"x"}} | <root><user><name>x</name></user></root> | 중첩 구조를 재귀적으로 전개 |
JSON 과 XML 비교
JSON 과 XML 중 어떤 형식을 쓸지 판단할 때 보는 차이입니다.
| 항목 | JSON | XML | 메모 |
|---|---|---|---|
| 문법 | { } : [ ] 간결 | < > </> 장황 | JSON 은 짧고 XML 은 태그 덕분에 구조가 눈에 잘 보입니다. |
| 타입 | number/bool/null 유지 | 대부분 문자열 | XML 은 schema 로 타입을 보완하는 경우가 많습니다. |
| 배열 | 네이티브 배열 | 반복 요소 | XML 은 명명 규칙으로 리스트를 표현합니다. |
| 네임스페이스 | 없음 | xmlns 지원 | SOAP 같은 큰 문서에서 중요합니다. |
| 스키마 검증 | JSON Schema | XSD / DTD | 둘 다 성숙한 검증 체계를 가집니다. |
| 주요 용도 | REST API, Web | SOAP, 기업 연동 | 현대 웹은 JSON, 기존 업무 시스템은 XML 이 많습니다. |
XML 특수 문자 이스케이프
JSON 문자열 안의 XML 특수 문자를 자동 변환하는 규칙입니다.
| 특수 문자 | XML 엔터티 | JSON 예시 | XML 출력 |
|---|---|---|---|
< | < | "<" | <field><</field> |
> | > | ">" | <field>></field> |
& | & | "&" | <field>&</field> |
" | " | "\"" | <field>"</field> |
' | ' | "'" | <field>'</field> |
Privacy & Security
이 JSON to XML 도구는 JSON 파싱, XML 생성, prettyPrint 정렬을 모두 브라우저 JavaScript 에서 수행합니다. 입력한 JSON, 업로드한 파일, 생성된 XML 은 서버로 전송되지 않습니다. 로컬 FileReader 로 파일을 읽고, 사용자 입력이나 사용 데이터를 수집하지 않습니다. 민감한 API 응답이나 사내 데이터 처리에도 적합합니다.
Authoritative References
- W3CXML 1.0 명세 - W3C
- GitHubxmlbuilder2 GitHub 저장소
- W3CSOAP 1.2 명세 - W3C
- MDNJSON 명세 - MDN Web Docs
- RSS Advisory BoardRSS 2.0 명세
- MDNXPath 가이드 - MDN
- JSON 압축
- CSV 를 JSON으로
- JSON을 CSV로
- JSON Diff
- JSON Escape / Unescape
- JSON 평탄화
- JSON 포맷터
- JSON 생성기
- JSONPath 온라인 쿼리
- JSON 병합
- JSON 복구
- JSON 스키마 검증기
- JSON 정렬
- JSON Stringify
- JSON을 HTML로 변환
- JSON을 Java로
- JSON을 Markdown으로
- JSON을 SQL로 변환
- JSON을 TOML로 변환
- JSON을 TypeScript로 변환
- XML을 JSON으로
- JSON을 XML로 변환
- YAML을 JSON으로 변환
- JSON → YAML 변환
- JSON을 Go로
- JSON을 Rust로
- JSON → Swift
- JSON에서 C#로
- JSON을 C++로
- JSON을 PHP로
- JSON을 Python으로