XML → JSON
XML과 JSON은 데이터를 다르게 모델링합니다: XML에는 속성과 혼합 콘텐츠가, JSON에는 객체와 배열이 있습니다. 손실 없이 변환하려면 관례가 필요합니다. 이 도구는 세 가지를 제공합니다: compact(속성 버림), Badgerfish(속성은 @key 아래, 텍스트는 $ 아래), literal(모든 XML 노드가 완전한 충실도의 JSON 객체가 됨). 대상으로 하는 JSON 소비자에 맞는 것을 고르세요.
XML을 JSON으로 변환하는 방법
-
1
XML 붙여넣기
적격 XML이면 무엇이든. 네임스페이스가 보존됩니다.
-
2
변환 스타일 선택
Compact, Badgerfish, 또는 literal/무손실.
-
3
배열 처리
특정 요소를 항상 배열로 강제할 수 있습니다(설정 가능).
-
4
JSON 출력 복사
정렬 출력 또는 압축, 원하는 대로.
세 가지 스타일 비교
입력:
<book id="1" lang="en">
<title>1984</title>
<author>Orwell</author>
</book>
Compact(속성 버림):
{
"book": {
"title": "1984",
"author": "Orwell"
}
}
Badgerfish(속성은 @ 아래, 텍스트는 $ 아래):
{
"book": {
"@id": "1",
"@lang": "en",
"title": { "$": "1984" },
"author": { "$": "Orwell" }
}
}
Literal / JsonML 비슷(완전한 충실도):
{
"book": {
"@attributes": { "id": "1", "lang": "en" },
"title": "1984",
"author": "Orwell"
}
}
강제 배열
XML에는 “이것은 한 개짜리 목록이다”라고 말할 방법이 없습니다. 단일 요소 시퀀스는 스칼라와 똑같아 보입니다:
<items>
<item>A</item>
</items>
이는 {"item": "A"}나 {"item": ["A"]} 둘 중 하나로 직렬화될 수 있습니다. 변환기는 요소 이름을(XPath로) 항상 배열로 표시하게 해, 하위 JSON 소비자가 일관된 타입을 받도록 합니다.
혼합 콘텐츠
혼합 콘텐츠, 자식 요소와 교차된 텍스트, 는 어떤 XML→JSON 변환이든 정보를 잃는 유일한 지점입니다:
<p>Hello <em>world</em>!</p>
대부분의 스타일은 텍스트를 버리거나 합쳐버립니다. literal 스타일은 배열을 통해 순서를 보존합니다:
{
"p": {
"@content": ["Hello ", { "em": "world" }, "!"]
}
}
타입 추론
기본적으로 값은 문자열입니다. “숫자/불리언 파싱”을 켜면 변환기가 42, 3.14, true, false를 맞는 JSON 타입으로 변환합니다. 주의하세요: XML 속성 id="007"은 변환을 켜면 7이 되는데, 아마 원하지 않을 것입니다.
어느 것을 고를까
- Compact: 속성이 잡음인 사람이 읽는 JSON용.
- Badgerfish: 속성과 텍스트가 자식과 같은 깊이에 필요할 때.
- Literal: 손실 없이 XML로 다시 왕복해야 할 때.
자주 묻는 질문
요소가 한 번 나오면 변환기는 기본적으로 객체로, 두 번 이상이면 배열로 처리합니다. 소비자가 하나의 형태를 기대하면 강제 배열 옵션으로 일관되게 만드세요.
“네임스페이스 제거”를 켜지 않는 한 네임스페이스 접두사는 키에 보존됩니다(ns:title). 선언 자체는 루트 요소의 @xmlns:ns 속성이 됩니다.
Literal 모드가 무손실에 가장 가깝지만, 요소와 텍스트 사이의 혼합 콘텐츠 순서는 까다롭습니다. Compact 모드는 분명히 속성을 잃습니다. Badgerfish는 실용적인 중간 지점입니다.
아니요. 변환은 브라우저에서 실행됩니다.
관련 도구
FPS 카운터
requestAnimationFrame으로 브라우저 FPS를 측정하세요. 스무딩, 최소/최대 프레임레이트, 경고 임계값, 선택형 그래프를 제공합니다. 업로드나 API 없이 로컬에서 실행됩니다.
ASCII 표 참조
NUL, LF, DEL 같은 제어 문자를 포함해 모든 문자에 대한 10진수, 16진수, 8진수, 2진수, HTML 숫자 문자 참조를 담은 0부터 127까지의 전체 ASCII 표.
색상 혼합기
두 HEX 색상을 2-20개의 균등한 색상 견본으로 섞습니다. 양 끝 색상을 포함해 각 중간 색상을 대문자 HEX 코드로 확인하세요.
ASCII 이진수 변환기
ASCII 문자열을 이진수 표현으로 변환하세요. 각 문자는 8비트가 되고 공백으로 구분되어 프로토콜 추적이나 과제에 바로 붙여넣기 좋습니다.
색상 틴트 생성기
기준 색의 밝은 틴트를 생성합니다. 디자인 시스템 토큰, 배경, 호버 상태를 위한 3-20단계 스케일.
보색 찾기
어떤 입력에 대해서도 보색을 찾습니다. HSL 반대 색, 분할 보색 쌍, 그리고 접근성 있는 조합 제안을 반환합니다.
이 도구는 다른 언어로도 제공됩니다
- XML zu JSON [DE]
- XML para JSON [PT]
- XML a JSON [ES]
- XMLからJSONへ [JA]
- XML naar JSON [NL]
- Chuyển đổi từ XML sang JSON [VI]
- แปลง XML เป็น JSON [TH]
- XML ke JSON [ID]
- XML till JSON [SV]
- XML إلى JSON [AR]
- XML vers JSON [FR]
- XML do JSON [PL]
- XML in JSON [IT]
- От XML к JSON [RU]
- XML'den JSON'a [TR]
- XML 转 JSON [ZH]
- XML to JSON [EN]