JSON 도구

XML JSON 변환속성과 텍스트의 위치를 확인하세요

반복 요소 예제로 시작하거나 혼합 예제를 불러와 두 출력 모델을 비교하세요.

XML JSON 변환

JSON에서 XML로

XML 입력

JSON 결과

현재 브라우저에서 처리하며 입력을 업로드하거나 저장하지 않습니다.

출력 옵션

속성과 한정 이름을 항상 유지하며 값은 문자열로 남습니다.

결과가 오래되어 내보낼 수 없습니다.

XML JSON 변환은 SOAP 응답이나 기존 설정을 객체와 배열을 사용하는 코드에 연결할 때 유용합니다. 하지만 태그 이름만으로 숫자와 식별자를 구분하거나, 항목 하나를 배열로 만들지 결정할 수는 없습니다.

이 XML JSON 변환기는 구조 선택을 명시적으로 제공합니다. 간단한 레코드에는 객체 모델을, 태그 사이에 문장이 있는 문서에는 순서 보존 모델을 사용하세요. 변환만으로 API 계약이 검증되지는 않습니다.

XML JSON 변환에서 구조를 확인하는 이유

항목 하나에도 배열 형태 유지

XML JSON 변환은 기본적으로 인접한 같은 이름의 요소를 배열로 묶습니다. 항상 배열 옵션을 켜면 자식이 하나일 때도 목록 형태를 유지합니다. 최상위 루트 이름은 별도의 배열로 감싸지 않습니다.

항목 하나와 두 개가 각각 배열 컨테이너로 들어가 같은 목록 형태를 유지하는 모습.

태그 사이의 문장을 제자리에

간결한 객체는 혼합 텍스트나 a,b,a 순서를 표현할 수 없어 변환을 중단합니다. 순서 보존 모드에서는 텍스트와 요소가 하나의 content 배열에 원래 순서대로 들어갑니다.

텍스트, 요소, 이어지는 텍스트가 원래 순서대로 콘텐츠 배열에 들어가는 모습.

결과를 내보내기 전에 정할 설정

01

혼합 예제로 모델 비교

기본 예제는 객체로 변환됩니다. 혼합 예제에서는 오류를 확인한 뒤 순서 보존 모드로 바꾸세요. content의 노드 순서를 보고 수신 프로그램이 이 구조를 읽을 수 있는지 확인합니다.

02

공백의 의미 확인

말단 텍스트는 trim하지 않습니다. 기본값은 요소 사이의 서식 공백만 제외하며 xml:space="preserve"는 상속되어 우선 적용됩니다. 모든 공백을 남기면 순서 보존 모드가 필요할 수 있습니다.

03

수동으로 여러 수정 모으기

자동 변환은 350ms 뒤 실행됩니다. 끄면 변환 버튼이나 Ctrl/Cmd+Enter로 실행할 수 있습니다. 입력 또는 옵션을 바꾸는 즉시 이전 결과의 복사와 다운로드가 비활성화됩니다.

XML을 JSON으로 변환할 때의 매핑

속성과 이름을 분리

객체 모델의 @id는 속성이고 #text는 속성이 있는 말단 요소의 본문입니다. p:item과 q:item은 다른 키이며 xmlns 선언도 보존합니다. 순서 보존 요소에는 namespaceURI가 추가됩니다.

노드 종류까지 표현

순서 보존 모델은 요소, 텍스트, CDATA, 주석, 처리 명령을 content 배열에 저장합니다. XML 선언은 별도 메타데이터입니다. 객체 모델은 CDATA 값을 텍스트로 합치지만 주석과 처리 명령은 거부합니다.

문자열을 임의로 추론하지 않음

001, 12.00, true와 큰 정수도 문자열입니다. 빈 요소는 객체 모드에서 빈 문자열이 됩니다. 스키마가 없으므로 숫자, 불리언, null을 임의로 만들지 않아 식별자의 앞자리 0을 지킵니다.

알아두어야 할 변환 경계

하나의 XML 1.0 루트만 허용
올바른 형식의 문서가 필요합니다. 내부 엔터티 선언을 포함한 모든 DOCTYPE을 거부합니다. 외부 엔터티, XInclude, 스키마 주소를 가져오거나 확장하지 않으며 잘못된 태그를 복구하지 않습니다. 인코딩 선언은 UTF-8 또는 UTF8만 허용합니다.
순서가 손실되는 객체 변환 거부
혼합 텍스트, 교차 반복 요소, 주석과 처리 명령은 객체 모드에서 오류가 됩니다. 루트 앞뒤의 주석도 포함됩니다. 루트 바깥 공백까지 유지하려면 순서 보존 모델을 선택하세요.
원본 파일을 그대로 복원하지 않음
XML 규칙에 따라 줄바꿈과 속성 공백이 정규화되고 문자 참조가 해석됩니다. 객체 모드는 선언과 CDATA 경계를 보존하지 않습니다. 접두사 제거, XSD 검사, 바이트 단위 왕복 보장은 없습니다.
한 번에 제한된 텍스트 한 문서
입력 500,000자, 깊이 100, 노드와 속성 50,000개, 출력 2,000,000자까지입니다. 파일 가져오기, URL 불러오기, 일괄 처리, 기록은 없습니다. 역변환 링크는 데이터를 보내지 않고 별도 페이지를 엽니다.

XML JSON 변환 자주 묻는 질문

XML 속성은 어떤 키로 바뀌나요?

속성은 항상 보존하며 객체 모델에서는 이름 앞에 @를 붙입니다. 자식 요소 id와 속성 @id는 서로 다른 키입니다. 순서 보존 모델에서는 attributes에 원래 한정 이름과 값을 담습니다.

반복 태그는 배열이 되나요?

XML JSON 변환은 인접한 같은 이름의 자식을 배열로 묶습니다. 항상 배열 옵션은 자식이 하나인 경우에도 적용됩니다. a,b,a처럼 교차하는 반복은 객체 모드에서 중단되고 순서 보존 모델이 필요합니다.

CDATA의 내용도 변환할 수 있나요?

가능합니다. 객체 모드는 CDATA 안의 값을 일반 텍스트와 이어 붙입니다. CDATA 경계 자체가 필요하면 순서 보존 모델에서 type이 cdata인 노드를 확인하세요.

결과를 한 줄로 줄일 수 있나요?

JSON 들여쓰기에서 압축을 선택하면 한 줄로 출력됩니다. 내용 모델과는 별도 설정이므로 순서 보존 결과도 압축할 수 있습니다. 문자열 속 줄바꿈은 올바른 JSON 이스케이프로 남습니다.

REST API와 SOAP API를 연동할 때 활용할 수 있나요?

응답 구조를 검토하는 데 쓸 수 있지만 SOAP 호출이나 REST 요청을 실행하지는 않습니다. 네임스페이스와 속성을 확인하고, 수신 API에 필요한 자료형이나 필드 변환은 별도로 구현해야 합니다.

예상하지 못한 결과가 나왔나요?

다음 응답의 구조를 점검하세요

XML JSON 변환으로 예제의 속성과 배열을 비교한 뒤 수신 프로그램에 맞는 모델을 선택하세요.