JSON'dan XML'e Dönüştürücü

Biçimlendirilmiş XML'e dönüştürmek için bir JSON nesnesi yapıştırın.

Nasıl hesaplanır?

Girdi bir JSON nesnesi olmalıdır; yani anahtarlı süslü parantezler gerekir, çıplak bir dizi, tek başına bir sayı ya da geçersiz JSON olmaz. Her anahtar <root> etiketi içinde bir öğe olur, iç içe nesneler iki boşlukla girintili iç içe öğelere dönüşür ve değerler öğe metni olur. Metin kaçışlanır; değerlerdeki &, < ve tırnak karakterleri XML varlıkları olarak çıkar. Mantıksal değerler true veya false yazılır, null ise boş bir <anahtar/> öğesi olur. Anahtar adlarında harf, rakam, tire ve alt çizgi dışındaki karakterler alt çizgiyle değiştirilir; rakamla başlayan ada başa alt çizgi eklenir. Dizi elemanlarının kendi adı olmadığından <_0>, <_1> gibi adlar alırlar. Sayaç, iç içe olanlar dahil üretilen öğe sayısıdır. Geçerli satırı yalnızca en az bir öğe üretilip üretilmediğini söyler: boş nesne içi boş bir kök verir ve geçerli sayılmaz; XML bir şemaya göre doğrulanmaz.

Örnek hesaplama

{"name":"Ada & Co","age":36,"address":{"city":"Leeds"},"tags":["a","b"]} girdisini yapıştırın. Çıktıda birinci düzey öğeler olarak <name>Ada &amp; Co</name> ve <age>36</age>, ardından <city>Leeds</city> içeren <address>, ve <_0>a</_0> ile <_1>b</_1> içeren <tags> bulunur; hepsi <root> içindedir. name, age, address, city, tags, _0 ve _1 sayıldığında araç 7 öğe bilgisini gösterir.

Bu örneği dene →

Sık yapılan hatalar

  • [1,2,3] gibi en üst düzeyde bir dizi yapıştırmak. Araç anahtarlı bir nesne ister, çıplak dizi için sonuç vermez.
  • Tek tırnaklı, sonda virgüllü veya tırnaksız anahtarlı JSON göndermek. Bunlar geçerli JSON değildir, bu yüzden çıktı oluşmaz.
  • XML öznitelikleri beklemek. Her değer öğe metni olur; <item id="1"> gibi bir çıktı üretilemez.
  • Dizilerde tekrarlanan etiketler (birkaç <tag> gibi) beklemek. Elemanlar _0, _1 adlarını alır; katı bir şema bunları kabul etmez.
  • Boşluklu veya rakamla başlayan anahtar adlarının aynen kalmasını beklemek. first name adı first_name, 1st adı ise _1st olur.

Bu hesaplama hakkında

JSON ve XML, veri alışverişi için kullanılan iki yapılandırılmış metin biçimidir, ancak birbirinin yerine geçmezler: JSON anahtar-değer çiftleri ve diziler kullanırken, XML verileri zorunlu bir kök etiket içinde iç içe geçmiş öğeler ve özniteliklerle sarar. İkisi arasında dönüştürme yapmak, her JSON anahtarını bir XML öğe adına eşlemek ve iç içe geçmiş nesneleri özyinelemeli olarak iç içe öğelere çevirmek anlamına gelir.

Geliştiriciler, sistemin bir kısmı JSON ile çalışırken sadece XML konuşan eski veya kurumsal sistemlerle entegrasyon kurarken — SOAP web servisleri, bazı bankacılık ve devlet API'leri, eski yapılandırma biçimleri gibi — bu dönüşüme başvurur.

Bu faydalı oldu mu?

En fazla 3 tepki seçebilirsiniz.

Yorumlar (1)

  • Editör ekibi

    Çıktıyı hızlı bir yapı taslağı olarak düşünün. JSON dizilerinin eleman adı yoktur; bu yüzden listeler _0 ve _1 gibi numaralı etiketlere dönüşür ve XML öznitelikleri üretmek mümkün değildir. Hedef sistem belirli bir şema bekliyorsa elemanları sonradan yeniden adlandırmayı planlayın. Dönüştürmeye çalıştığınız tuhaf yapı neydi?

Popüler hesaplayıcılar

Tüm Hesaplayıcılar