JSON XML çevirici
JSON verisini geçerli XML'e çevir.
Tarayıcında çalışır. Yazdığın hiçbir şey bir yere gönderilmez.
- Özel kök öğe
- Her zaman düzgün biçimlendirilmiş
- Hiçbir şey yüklenmez
JSON XML'e nasıl çevrilir
- JSON'ını yapıştır veya yükle.
- Kök öğe için bir ad yaz.
- XML'i kopyala veya indir.
Örnek: JSON girer, XML çıkar
| JSON | XML |
|---|---|
| {"name":"Sam"} | <root><name>Sam</name></root> |
| {"@_id":"5","#text":"Widget"} | <root id="5">Widget</root> |
| {"tag":["a","b"]} | <root><tag>a</tag><tag>b</tag></root> |
JSON anahtarları etiket adı olurken neler değişir
- Boşluk gibi XML'in adlarda izin vermediği bir karakter _ ile değiştirilir, bu yüzden "first name" first_name olur.
- Bir rakamla başlayan bir anahtarın önüne bir _ eklenir, çünkü XML adları bir sayıyla başlayamaz.
- Yeniden adlandırılmış biriyle çakışan bir anahtarın sonuna bir sayı eklenir, bu yüzden ikinci bir first_name, first_name_2 olur.
JSON'dan XML'e nerede kullanışlı
- Sadece XML kabul eden eski bir sisteme veya API'ye veri beslemek.
- Bir JSON veri kaynağından RSS tarzı küçük bir akış oluşturmak.
- Bir JSON yükünün bir SOAP veya eski XML istek gövdesi olarak nasıl görüneceğini kontrol etmek.
Bilinmesi gereken sınırlar
- Bir JSON null'u boş bir öğe olur, çünkü XML'de tam olarak null anlamına gelen bir şey yok.
- Sadece büyük/küçük harfle farklılaşan anahtarlar, örneğin Name ve name, iki farklı etiket olur, çünkü XML etiket adları büyük/küçük harfe duyarlıdır.
- Sayılar ve boole değerleri XML'de düz metin olarak yazılır. Bir okuyucunun bunları orijinal türlerine geri ayrıştırmayı bilmesi gerekir.
JSON XML SSS
Diziler XML'de nasıl yazılır?
Bir dizideki her öğe, anahtarının adını taşıyan tekrarlanan bir öğe olur. En üst seviyedeki bir dizi, kökün altında item öğelerine sarılır.
Öznitelikleri nasıl oluştururum?
Bir anahtarı @_ ile başlat, örneğin "@_id": 5, üst öğesinin bir özniteliği olur. Bu, XML'den JSON'a çeviricisinin çıktısıyla eşleşir.
Bir anahtar geçerli bir XML etiket adı değilse ne olur?
XML'in adlarda izin vermediği boşluk gibi karakterler _ ile değiştirilir, bir rakamla başlayan bir ad ise önüne bir _ eklenir. Böylece "first name" first_name olur.
Bir dosyayı XML'den JSON'a ve geri çevirebilir miyim?
Evet. Öznitelikler açıkken XML'den JSON'a çeviricisinin ürettiği JSON, @_ anahtarları ve #text değerleri dahil, burada geri eşleşen XML'e çevrilir.
Bir etiket listesi gibi, bir nesnenin içindeki düz değerlerden oluşan bir JSON dizisine ne oluyor?
Her değer, dizinin anahtarının adını taşıyan kendi tekrarlanan öğesi olur; örneğin tag anahtarı altındaki ["a","b"] bir tags dizisi <tag>a</tag><tag>b</tag> olur.
Çıktı bir XML bildirimi içeriyor mu?
Evet. Her sonuç kendi satırında <?xml version="1.0" encoding="UTF-8"?> ile başlar.
Metin içindeki < veya & gibi özel karakterleri kaçırıyor mu?
Evet. Metin veya bir öznitelik değeri içinde XML sözdizimini bozacak herhangi bir karakter otomatik olarak kaçırılır, bu yüzden sonuç her zaman geri temiz bir şekilde ayrıştırılır.
Bir nesnenin içinde bir dizinin içinde bir nesneyi iç içe koyabilir miyim?
Evet. Herhangi bir derinlik ve nesne ile dizi karışımı çevrilir, her seviye kendi iç içe öğeler kümesi olur.