JSON'u XML'e Dönüştürme: Kök Adı ve Biçimlendirme Ayarları
Geçerli JSON metnini girerek kök adını ve güzel biçimlendirme seçeneğini belirleyin, ardından oluşan XML yapısını denetleyin. Dizi biçimine, özel XML adlarının dönüştürülmesine ve boş ya da `null` girdilerin ayrı sonuçlarına özellikle bakın.
Geçerli JSON metnini girerek kök adını ve güzel biçimlendirme seçeneğini belirleyin, ardından oluşan XML yapısını denetleyin. Dizi biçimine, özel XML adlarının dönüştürülmesine ve boş ya da null girdilerin ayrı sonuçlarına özellikle bakın.
JSON ve XML dönüşümünü planlama
JSON metnini XML biçimine çevirmek, aynı veriyi XML öğeleri ve hiyerarşisi içinde kullanmanız gereken durumlarda yararlı olabilir. Araç, verdiğiniz JSON metnini işler ve seçtiğiniz kök adıyla XML çıktısı oluşturur. Kök adını belirtmezseniz root kullanılır; güzel biçimlendirme seçeneği de varsayılan olarak etkindir. Böylece tek bir nesnenin alanlarını alt öğeler halinde inceleyebilir, iç içe nesnelerin konumunu takip edebilir ve dizilerin XML içinde nasıl temsil edildiğini değerlendirebilirsiniz.
Dönüştürme öncesinde elinizdeki içeriğin JSON kurallarına uygun olduğundan emin olun. Girişin boş bırakılması, yalnızca boşluk içermesi, null olması ve normal bir nesne ya da dizi içermesi aynı sonucu vermez. Bu ayrım, özellikle boş bir veri kümesini gerçek bir XML yapısından ayırmanız gerektiğinde önem taşır. Çıktıyı başka bir işleme aktarmadan önce öğe adlarını, tekrar eden bölümleri ve boş ya da özel durumdaki girdilerin sonucunu okuyun.
Dönüşümü uygulama ve çıktıyı denetleme
-
JSON metnini giriş alanına yazın veya yapıştırın. Bir nesnedeki her üyenin XML içinde bir alt öğeye dönüşeceğini, iç içe nesnelerin ise onları taşıyan öğenin altında kalacağını hesaba katın.
-
Kök adını belirleyin. Özel bir ad seçmezseniz araç
rootadını kullanır. Kök adı, ortaya çıkacak XML hiyerarşisinin en dışındaki öğeyi tanımlar; bu nedenle verinizin kullanım amacına uygun, XML adı olarak desteklenen bir ifade tercih edin. -
Okunabilir bir çıktı istiyorsanız güzel biçimlendirmeyi etkin bırakın. Geçerli, boş olmayan ve
nulldeğerinden farklı JSON için sonuçta XML bildirimi bulunabilir ve girintileme denenir. Bu seçenek, çıktıyı incelemeyi kolaylaştırabilir; ancak biçimlendirme tercihi verinin anlamını değiştirmez. -
Dönüştürme işlemini başlatın ve sonucun başarılı biçimde üretildiğini kontrol edin. Eksik tırnak, virgül, köşeli parantez veya süslü parantez gibi sözdizimi sorunları içeren JSON, başarılı bir XML çıktısı yerine başarısız sonuç verir. Böyle bir durumda önce giriş metnini düzeltin.
-
Veri diziler içeriyorsa öğe yapısını ayrıca inceleyin. Üst düzey dizi öğeleri ile dizilerde bulunan nesne öğeleri
itemöğeleriyle sarılır. Bir nesnenin içindeki basit değerlerden oluşan dizilerde tekrar eden öğeler, kapsayan üyenin adını kullanır; iç içe listelerde üst öğenin etiketi yeniden kullanılabilir. -
Kök adıyla JSON anahtarlarını sonuçta görünen XML adlarıyla karşılaştırın. Desteklenmeyen karakterler alt çizgiyle değiştirilir ve rakamla başlayan adların başına alt çizgi eklenir. Bu nedenle kaynak anahtarın yazımı ile XML öğesinin yazımı farklı olabilir.
-
Metin değerlerini de gözden geçirin. XML içinde özel anlam taşıyan karakterler serileştirme sırasında kaçırılır; bu işlem, metnin XML yapısıyla karışmasını önleyen çıktı gösteriminin bir parçasıdır. Sonucu kullanacağınız yerde beklenen öğe adlarının ve hiyerarşinin korunduğunu doğrulayın.
Farklı çıktı biçimlerini okuma
Başarılı bir JSON nesnesi dönüşümünde üyeler alt öğe olarak görünür ve iç içe nesneler kendi taşıyıcı öğelerinin içinde yer alır. Bu nedenle yalnızca değerleri okumak yeterli değildir; öğelerin sırasını, adlarını ve üst-alt ilişkisini de kontrol etmek gerekir. JSON yapısındaki bir dizi, bulunduğu yere göre farklı adlandırma ve sarmalama biçimi gösterebilir.
Boş veya yalnızca boşluk içeren giriş kabul edilir, fakat sonuç boş bir XML dizesidir. JSON değeri null olduğunda sonuç, seçilen ya da varsayılan kök adıyla kendini kapatan boş bir kök öğesidir. Bu iki durum, içinde üye bulunan bir nesnenin ürettiği yapıdan ayrılır ve veri aktarımında ayrı ayrı ele alınmalıdır.
Güzel biçimlendirme etkinken normal, boş olmayan ve null olmayan JSON için XML bildirimi ile girintileme denenir. null sonucunda XML bildirimi bulunmaz; boş veya yalnızca boşluk içeren girişte ise boş XML dizesi döner. Ayrıca bir anahtar ya da kök adı XML adlandırma kurallarını karşılamıyorsa, sonuçtaki ad kaynak metinden farklılaşabilir. Son çıktıyı bir sonraki aşamaya vermeden önce bu değişiklikleri kayıt eşleştirmelerinizle karşılaştırın.
Uygulamalı örnek
Bir kayıt nesnesini, okunabilir bir kök öğe ve tekrar eden etiket öğeleri içeren XML yapısına çevirmek istiyorsunuz.
{"ad":"Ayşe","etiketler":["a","b"]} metnini girin, kök adını kayit yapın ve güzel biçimlendirmeyi etkin bırakın.
Sonuçta kayit adlı bir kök öğe bulunur. ad alanı bir alt öğeye dönüşür; nesne içindeki etiketler dizisinin iki değeri, etiketler adını taşıyan tekrar eden öğeler olarak görünür.
Sınırlamalar
- Geçersiz JSON başarılı bir XML çıktısı üretmez. JSON anahtarları ve kök adı, desteklenmeyen karakterler ya da rakamla başlayan adlar nedeniyle kaynak yazımdan farklılaşabilir; dizi yapısı da bulunduğu konuma göre değişir.
Sık yapılan hatalar
- Neden: JSON içinde eşleşmeyen tırnak, eksik virgül ya da kapanmamış parantez bulunması metni geçersiz hale getirir. Düzeltme: Sözdizimini kontrol edip geçerli JSON metnini yeniden girin ve dönüşümü tekrar başlatın.
Sık sorulan sorular
JSON null değeri XML'e dönüştürülebilir mi?
Evet, null değeri kabul edilir; sonuç XML bildirimi olmayan, kendini kapatan boş bir kök öğesidir. Bu davranış, üyeleri bulunan normal bir JSON nesnesinin oluşturduğu alt öğeli yapıdan farklıdır.
Geçersiz JSON girersem ne olur?
Geçersiz JSON için başarılı bir XML belgesi oluşmaz ve sonuç başarısız olur. Eksik tırnakları, virgülleri ve kapanış parantezlerini düzelttikten sonra metni yeniden gönderin.
Kök XML adını değiştirebilir miyim?
Evet, dönüşümden önce farklı bir kök adı belirleyebilirsiniz; bir ad vermediğinizde varsayılan olarak root kullanılır. Rakamla başlayan veya desteklenmeyen karakterler içeren bir ad seçerseniz sonuçta alt çizgi değişiklikleri görülebilir.