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

XML belgelerini modern JavaScript uygulamalarının kolayca okuyacağı JSON nesnelerine çevir.

Eski bir SOAP servisinden dönen veri, bir RSS akışı veya eski sistemlerin yapılandırma dosyaları doğrudan XML olarak gelir. Bir JavaScript arayüzünde karmaşık XML DOM yöntemleriyle uğraşmak yerine bu veriyi JSON nesnesine dönüştürmek, standart nesne hiyerarşisiyle çok daha hızlı çalışmanı sağlar.

XML ve JSON Arasındaki Yapısal Farklar

XML, etiket öznitelikleri ile alt elemanlar arasında net bir ayrım yapar; JSON ise bu ayrıma doğrudan sahip değildir. Örneğin <book id="7"><title>Dune</title></book> yapısında hem bir öznitelik hem de bir alt etiket yer alır. JSON tarafında bu iki bilginin birbiriyle çakışıp kaybolmaması adına dönüştürücüler genelde öznitelik isimlerinin başına @id gibi özel bir işaret ekleyerek veriyi ayrıştırır.

Diğer kritik zorluk dizi yapısının XML içerisinde yer almamasıdır. Bir belgede yalnızca bir adet <item> bulunması ile üç adet bulunması aynı etiketle ifade edilir. Dönüştürücü bu etiketin bir liste mi yoksa tekil bir nesne mi olduğunu doğrudan şemadan kestiremez; belgede tek bir kayıt kaldığında nesneye dönüşmesi yazılım süreçlerinde beklenmeyen hatalara yol açabilir.

XML Verisini JSON Formatına Çevirme Adımları

  1. Eğik çizgili veya karmaşık XML metnini alana yapıştır ya da dosyanı yükle.
  2. Dönüştürme butonuna tıkla ve sunucunun yanıt üretmesini bekle.
  3. Tekrar edebilecek etiketlerin tek eleman içerdiğinde nesne yerine dizi olarak korunup korunmadığını kontrol et.
  4. Özniteliklerin alt etiket değerleriyle karışmadan ayrı bir anahtar altında listelendiğini doğrula.
  5. Oluşturulan JSON çıktısını kopyalayarak projene aktar.

JSON Tarafında Doğrudan Karşılığı Olmayan XML Öğeleri

  • Bir elemanın tam anlamını belirleyen ve JSON yapısında temiz bir eşdeğeri bulunmayan xmlns:atom="..." benzeri ad alanları (namespaces).
  • XML içinde serbestçe yer alabilen ancak standart JSON sözdiziminde desteklenmediği için dönüşümde silinen açıklamalar (comments).
  • <p>Hello <b>world</b></p> örneğindeki gibi metin ile iç içe geçmiş alt etiketlerden oluşan karma içerikler.
  • Doğrudan bir JSON karşılığı bulunmayan XML işlem yönergeleri ve CDATA bölümleri.
  • Farklı etiket isimlerine sahip kardeş öğelerin JSON anahtarları altında toplanması durumunda ortaya çıkabilecek sıra farklılıkları.

XML JSON Dönüştürme Hakkında Sorular

Tek elemanlı bir liste neden dizi yerine nesne olarak dönüştürülür?

Dönüştürücü incelenen belgede söz konusu etiketten yalnızca bir tane gördüğünde onun tekrarlayan bir liste olduğunu otomatik olarak varsayamaz. Bu durum veri akışlarında sıkça karşılaşılan bir durumdur.

XML etiketlerinin içindeki öznitelikler nereye aktarılır?

Öznitelikler genellikle @ önekiyle korunan bağımsız bir anahtar altında toplanır; böylece id="7" gibi bir değer, aynı isimdeki bir alt etiketle karışmaz.

Kaynak belgedeki XML yorumları JSON içine taşınır mı?

Hayır, JSON sözdiziminde yorum satırı desteği bulunmadığından XML yorumları dönüşüm aşamasında temizlenir.

Büyük boyutlu RSS veya site haritası XML dosyaları dönüştürülebilir mi?

Standart boyutlardaki beslemeler ve yapılandırma dosyaları sorunsuz işlenir. Çok yüksek hacimli belgelerde aktarım ve ayrıştırma süreleri dosya büyüklüğüne bağlı olarak değişebilir.

Dönüştürülen XML verileri saklanır mı?

Hayır, XML içeriğin ayrıştırılmak üzere güvenli şekilde işleme alınır ve dönüştürme tamamlandıktan sonra sistemde tutulmaz.

Cookie
Verilerinizi önemsiyoruz ve deneyiminizi geliştirmek için çerezleri kullanmayı çok isteriz.