IT
OmnvertGörsel • Belge • Ağ

XML ↔ JSON Dönüştürücü

Convert XML to JSON or JSON to XML with configurable attribute shapes and namespaces. 100% client-side.
Developer Tools →
Attr prefix
Format
Indent
Input bytes
501
Output bytes
0
Top-level keys
0
XML input
501 chars
JSON output
0 chars
100% client-side: input never leaves your browser.
About this tool

XML, 35 yaş altı geliştiricilerin asla dokunmamayı umduğu, 35 yaş üstü geliştiricilerin kaçınılmaz bildiği formattır. SOAP web servisleri, RSS feed'leri, sitemap, OPML, SVG, OOXML (Office belgeleri), Maven/Gradle build, Spring application context, Android resource, Apple plist, Java enterprise descriptor, banking message (ISO 20022), healthcare record (HL7 CDA) hepsi XML kullanır. Format JSON'un doğrudan ifade etmediği zengin özelliklere sahip — text content yanında attribute, namespace, mixed content, CDATA blok — ve dönüşüm her birini diğer formatta nasıl temsil edeceğine karar gerektirir.

XML-to-JSON yönü daha zor çünkü gerçek seçimler içerir. Attribute'lar JSON şeklinde bir yere gitmek zorunda — buradaki konvansiyon '@' prefix (XML id attribute'u JSON anahtarı '@id' olur). Mixed content text key '#text'. Self-closing element (<empty/>) null veya boş nesne (yapılandırılabilir). Aynı isimli birden fazla sibling element dizi olur. Namespace varsayılan korunur (xmlns:foo='...' JSON anahtar 'foo:element' üretir); strip-namespace toggle prefix'i atar.

JSON-to-XML yönü daha temiz çünkü her JSON yapısının iyi tanımlı XML temsili var. Nesne anahtarı element adı, dizi tekrarlanan kardeş element, primitif değer text content, '@' başlangıçlı anahtar attribute, '#text' özel anahtar mixed text. Çıktı well-formed XML'dir.

Aracın yardım ettiği yerler: Legacy enterprise SOAP yanıt debug, JSON kaynağından XML üretip API'ya post, RSS/sitemap scrape, OPML reading list dönüşümü, OOXML/DOCX iç inspection, Maven dependency tree grep'lenebilir hale getirme.

Attribute yönetimi konvansiyonları farklıdır. '@' (fast-xml-parser, BadgerFish, çoğu JS lib) modern varsayılan; alternatifler '_', '$' veya prefix yok. Mixed content (parent içinde text ve element interleaved) JSON'un iyi ifade etmediği XML kısmı; data-shaped XML için object form, HTML-benzeri text için array form.

Namespace XML öğrenenleri şaşırtan kısımdır. XML belgesi birden fazla namespace simültane kullanabilir; JSON namespace yok, dönüşüm flatten yapmalı (prefix atarak temiz JSON ya da prefix tutarak yapı koruma). CDATA (<![CDATA[]]>) parse'da içerik korunur; çıktı plain text. JSON-to-XML CDATA üretmez, post-conversion wrap edebilirsiniz.

Gizlilik aynı: yükleme yok, log yok, tarayıcıda fast-xml-parser. Performance lineardır: 1MB XML bir saniyenin altında, 10MB birkaç saniye. Workflow ipucu: round-trip XML→JSON→XML attribute order, whitespace, self-closing form farklı görünebilir; semantik korunur, byte değil.

Komşu utiliti'lerle eşleşir: YAML ↔ JSON (paralel), JSON Viewer, JSON Diff (iki XML payload'u JSON'a çevirip karşılaştırma), JSON to TypeScript, SVG Tools (XML-şekilli SVG için).

Kullanım senaryoları
  • Legacy enterprise SOAP yanıtlarını JSON'a çevirip debug edin.
  • Sahip olduğunuz JSON verisinden XML kabul eden API'lar için XML üretin.
  • RSS feed veya sitemap'i analiz için JSON'a çevirin.
  • Feed reader'lar arası OPML reading list'i çevirin.
  • OOXML / DOCX / XLSX içindeki XML'i ayıklayıp inceleyin.
  • Maven dependency tree'yi grep'lenebilir forma çevirin.
  • XML config'i round-trip yaparak attribute sırası ve boşluğu normalize edin.
  • İki yönde gerçek zamanlı çevirerek XML/JSON eşlemesini öğretin.
Nasıl çalışır
  1. 1Yön seçin: XML → JSON veya JSON → XML.
  2. 2Kaynağı sola yapıştırın veya .xml / .json dosyası yükleyin.
  3. 3Dönüşümü ayarlayın: attribute prefix (@/_/yok), namespace yönetimi, girinti.
  4. 4Dönüştürülmüş çıktı sağda güncellenir.
  5. 5Yön değiştir butonuyla round-trip yapın.
  6. 6Kopyala'ya tıklayın veya .json / .xml indirin.
SSS
XML attribute'ları JSON'da nasıl temsil ediliyor?
Varsayılan '@' prefix — XML attribute id JSON anahtar '@id' olur. '_' prefix veya 'prefix yok' yapılandırılabilir.
Namespace'lere ne oluyor?
Varsayılan korunur: prefix:localName JSON anahtarı olarak. Strip-namespace toggle prefix'leri atar.
Mixed content nasıl işleniyor?
Çocuk element'ler yanındaki text '#text' anahtarı kullanır. Mixed text/element ordering önemli ise array temsili sıra korur.
CDATA korunuyor mu?
İçerik aynen, ama JSON çıktı plain text olarak temsil eder, CDATA marker'ı yok. Ters yön plain text yayar.
Aynı adlı birden fazla sibling element?
JSON dizisine dönüşür. <users><user>a</user><user>b</user></users> → { users: { user: ['a', 'b'] } }.
SOAP envelope parse eder mi?
Evet — SOAP belirli namespace yapısı olan XML'dir. Envelope, Header, Body normal parse olur.
XML/JSON sunucuya gidiyor mu?
Hayır. Tarayıcıda fast-xml-parser ile çalışır.
Round-trip byte-by-byte XML korur mu?
Muhtemelen hayır — attribute sırası, element-arası boşluk, self-closing form değişebilir. Semantik korunur. Byte-exact için DOM-koruyucu XML editör.