XML'e JSON Dönüştürücü
XML verilerini veya dosyalarını tarayıcınızda anında JSON formatına dönüştürün. Özel girintiyi destekler ve iç içe geçmiş yapıları işler.
XML dosyasını seçin
veya buraya sürükleyip bırakın
XML verilerini veya dosyalarını tarayıcınızda anında JSON formatına dönüştürün. Özel girintiyi destekler ve iç içe geçmiş yapıları işler.
veya buraya sürükleyip bırakın
XML ve JSON'un her ikisi de veri değişim formatlarıdır ancak web'in farklı dönemlerinden gelirler. 1998'de standartlaştırılan XML, öznitelikler, ad alanları ve şema doğrulamasıyla kendini tanımlayan bir biçimlendirme formatı olarak tasarlandı. JSON, 2000'li yılların başında, JavaScript çalışma zamanlarına ve modern API'lere daha uygun, daha hafif bir format olarak ortaya çıktı. Yeni web API'lerinin çoğu JSON'u konuşur; SOAP hizmetleri, RSS beslemeleri, yapılandırma dosyaları, kurumsal entegrasyonlar gibi birçok eski sistem hâlâ XML üretiyor. Bunlar arasında dönüştürme, modern geliştirmedeki en yaygın birlikte çalışma görevlerinden biridir.
İki formatın farklı ifade gücüne sahip olması nedeniyle dönüştürme tamamen kayıpsız değildir. XML'in nitelikleri vardır (JSON'da bu özellikler yoktur), metin içeriği ile öğe adları arasında ayrım yapar ve karma içeriği (hem metin hem de alt öğeleri içeren öğeler) destekler. JSON'un basit nesne/dizi modeli bu özellikleri doğrudan temsil edemez, bu nedenle dönüştürücüler kuralları uygular: nitelikler @-önekli anahtarlara dönüşür, metin içeriği #text anahtarına dönüşür vb.
Bu dönüştürücü, tarayıcının yerleşik DOMParser'ını kullanarak XML'i ayrıştırır ve ortaya çıkan DOM ağacını JSON üretmek için yürütür. Kardeşlerle aynı etiket adına sahip öğeler diziler halinde toplanır; nitelikler özel anahtarlara girer; ad alanları ve işleme talimatları mevcut olduğunda korunur. Sonuç, makul bir şekilde XML'e geri dönüş yapan, insan tarafından okunabilen JSON'dur.
Çoğu modern uygulama kodu JSON ile daha rahattır. JavaScript, JSON'u yerel olarak ayrıştırır, Python'un json modülü standart kitaplıkta bulunur ve hemen hemen tüm diğer dillerde eşdeğer birinci sınıf JSON desteği bulunur. XML işleme, ek kitaplıkların içe aktarılmasını ve daha fazla standart metin yazmayı gerektirir. Gelen XML'in işlenmeden önce JSON'a dönüştürülmesi genellikle harici XML akışından dahili veri yapısına giden en hızlı yoldur.
Araçlar aynı zamanda JSON'a da dayanır. JSON güzelleştiricileri, doğrulayıcıları, şema doğrulayıcıları, sorgu dilleri (jq, JSONPath) ve görüntüleyicileri çoktur; XML eşdeğerleri daha azdır ve sıklıkla daha eskidir. JSON'da çalışmak daha zengin bir araç ekosisteminin kilidini açar.
XML'i yapıştırın, JSON'u edinin.
DOMParser, tarayıcının XHTML sayfaları için kullandığıyla aynı olan bir XML DOM üretir. Dönüştürücü bu DOM'u yinelemeli olarak yürütür. Her öğe için bir JSON nesnesi oluşturur: nitelikler @ ön ekine sahip anahtarlar haline gelir (örneğin, @id, @class); öğenin alt öğeleri aynı yapıya yinelenir; Metin içeriği çocuklarla birlikte sunulduğunda #text anahtarının altında yaşar.
Aynı etiket adına sahip tekrarlanan alt öğeler bir JSON dizisinde toplanır. Belirli bir ismin tek bir çocuğu, bir nesne değeri olarak görünür; birden çok çocuk bir nesne dizisi olarak görünür. Bu kural pratikte iyi çalışır ancak JSON şeklinin, öğelerin bir kez mi yoksa birden çok kez mi göründüğüne bağlı olduğu anlamına gelir; bu, XML'den JSON'a eşlemenin bilinen bir kusurudur.
Ad alanları, öğe adlarının bir parçası olarak korunur (önek:yerelAd). İşleme talimatları ve CDATA bölümleri metin içeriğine dönüştürülür. XML bildirimleri ve DOCTYPE'ler JSON çıktısından çıkarılır ancak verileri etkilemez.