XML'den JSON'a çevirme

Cihazınızda çalışır · Dosyanız cihazınızdan asla çıkmaz.

Bir .xml dosyası bırakın ya da bir API’den, akıştan veya yapılandırma dosyasından XML yapıştırın; üzerinde çalışabileceğiniz JSON alın. Belge tarayıcının kendi XML ayrıştırıcısıyla, ilk satırının bildirdiği kodlamada okunur; düzgün biçimli her şey dönüşür, bozuk bir dosya sorunun satır ve sütunuyla ve orada neyin yanlış olduğuyla bildirilir.

Eşleme sabittir ve geri çevrilebilir: her öğe bir anahtar olur; aynı adlı kardeşler dizi olur; öznitelikler @ ile başlayan anahtarlarda tutulur (id="A3" → "@id": "A3"); bir öğe hem metin hem alt öğe ya da öznitelik taşıyorsa metin "#text" altına gider. Yalnızca metin içeren öğe doğrudan değerin kendisi olur.

Tür tanıma açıkken 12, true gibi metinler ya da boş öğe sayı, mantıksal değer ya da null olur; kapatırsanız her şey metin kalır. Ad alanlı adlar (soap:Body) yazıldığı gibi korunur. Önizleme indirmeden önce ilk 200 satırı gösterir.

XML'den JSON'a çevirme nasıl yapılır

  1. Bir XML dosyası bırakın ya da XML metnini kutuya yapıştırın.
  2. Sayıların, mantıksal değerlerin ve boş öğelerin tanınıp tanınmayacağına karar verin.
  3. «JSON biçimine dönüştür» düğmesine basın ve önizlemeyi kontrol edin.
  4. .json dosyasını indirin.

Desteklenen biçimler ve sınırlar

Girdi
XML (.xml): dosya ya da yapıştırılmış metin, bildirdiği kodlamada
Çıktı
JSON, girintili, UTF-8
Öznitelikler
"@ad" anahtarları olarak korunur
Yinelenen öğeler
Dizi olur
Nerede çalışır
Tarayıcıda – yükleme yok

Şunlar için uygun değildir: Düzgün biçimli olmayan belgeler (kapatılmamış etiketler, HTML sayfaları): ayrıştırıcı tahmin etmek yerine ilk sorunu bildirir.

Hangi değerlerin türü değişir

Tür tanıma metne olduğu kadar özniteliklere de uygulanır ve bir değeri yalnızca hiçbir şeyin kaybolmadığı yerde değiştirir. Açıkken id="3" "@id": 3 olur, id="007" ise "007" metni olarak kalır. 1.50 da metin kalır, çünkü sayı olarak 1.5 diye geri yazılırdı. TRUE, true olur. <note/> gibi boş bir öğe ve yalnızca boşluk içeren bir öğe null olur; NULL sözcüğü metin kalır. 2024-01-05 gibi tarihler hiçbir zaman dönüştürülmez.

Tanıma kapalıyken boş öğeler "" olur ve her değer tam yazıldığı gibi metin kalır.

JSON neyi tutamaz

Bir XML belgesinin bazı parçalarının JSON’da yeri yoktur ve atılır: yorumlar, işleme talimatları ve DOCTYPE. CDATA bölümleri sıradan metin olur; <a><![CDATA[<b>x</b>]]></a> "a": "<b>x</b>" verir.

Farklı adlı öğeler arasındaki sıra kaybolur, çünkü her ad tek bir anahtar olur. <step>1</step><note/><step>2</step> içinde iki step "step": [1, 2] altında toplanır ve note’un aralarında durduğunu hiçbir şey kaydetmez. İşaretlemeyle karışık metin de yerini aynı şekilde kaybeder: <p>Hello <b>world</b> and <i>you</i>!</p>, "b": "world", "i": "you" ve "#text": "Hello and !" olur. Biçimlendirilmiş düz yazı gibi bu sıranın içeriğin ta kendisi olduğu belgeler için bu eşleme uygun değildir.

Ad alanları, varlıklar, hatalar ve kodlamalar

Önekli adlar yazıldığı gibi korunur ve ad alanı bildirimleri öznitelik olarak görünür: <soap:Envelope xmlns:soap="…"> "@xmlns:soap" taşıyan bir "soap:Envelope" anahtarı verir ve JSON’dan XML’e (/json-to-xml) aracı ikisini de aynı XML’e geri çevirir.

Belgenin kendi DOCTYPE’ının tanımladığı varlıklar dışında yalnızca XML’e yerleşik beş varlık (&amp; &lt; &gt; &quot; &apos;) ve &#160; gibi sayısal olanlar anlaşılır. Ayrıştırıcı durduğunda mesaj satırı ve sütunu verir ve neyin yanlış olduğunu sade sözcüklerle söyler: başka bir adla kapatılmış bir öğe, &nbsp; gibi bilinmeyen bir ad (yerine &#160; yazın), tek başına duran bir & ya da <, ikinci bir üst düzey öğe ya da erken biten bir dosya.

Dosya, ilk satırının bildirdiği kodlamada okunur, örneğin ISO-8859-1 ya da windows-1256. Bildirim yoksa UTF-8 ya da UTF-16 okunur ve eski kod sayfaları CSV’den JSON’a (/csv-to-json) sayfasında anlatıldığı gibi tanınır.

Sık sorulan sorular

Dosyam bir sunucuya yükleniyor mu?
Hayır. Dönüştürme tamamen tarayıcınızda, kendi cihazınızın gücüyle yapılır. Dosya bilgisayarınızdan ya da telefonunuzdan çıkmaz; bir araç bir kez kullanıldıktan sonra internetsiz de çalışmaya devam eder.
Öznitelikler ve karışık içerik nasıl ele alınır?
Öznitelikler @ önekli anahtar olur: <item id="A3"> → "@id": "A3". Bir öğede özniteliklerin ya da alt öğelerin yanında metin de varsa metin "#text" altında saklanır; yalnızca metin içeren öğe doğrudan o metin olur.
Neden bir öğe nesne, yinelenenler dizi?
Üst öğesinin altında bir kez geçen öğe nesne (ya da değer) olur; aynı adlı iki ya da daha çok kardeş dizi olur. Bu belgeyi birebir yansıtır: tek öğeli bir liste tek nesnedir. Kodunuz her durumda dizi istiyorsa alıcı tarafta sarın.
JSON’un en üstü nasıl görünür?
Kök öğenin adını taşıyan tek bir anahtar, içindeki her şeyi tutar: <kayitlar>…</kayitlar> → {"kayitlar": {...}}. Kök adı korunur; böylece JSON’dan XML’e aracı aynı belgeyi yeniden kurabilir.

İlgili araçlar

Tablolar ve veriler içinde daha fazlası

Bu sayfa diğer dillerde: English · العربية · Deutsch · Français · Español · Русский · Português · 中文 · हिन्दी · עברית · فارسی · اردو · Bahasa Indonesia · বাংলা