XML'den JSON'a Dönüştürücü
Dönüştürmek için XML'inizi aşağıya yapıştırın.
Sonuç
Nasıl hesaplanır?
Araç yapıştırdığınız XML’i ayrıştırır ve ağacını girintili JSON olarak yeniden kurar. Kök öğenin adı ayrıca bildirilir ve JSON içinde anahtar değildir; JSON kökün içeriğiyle başlar. Öznitelikler "@attributes" nesnesine girer. Alt öğesi olan bir öğe, alt öğe adlarıyla anahtarlanmış bir nesne olur. Aynı ad tekrarlanırsa değerler dizi olur ve araya başka öğeler girse bile tekrarlar bir araya toplanır. Yalnızca metin içeren öğe dize olur (sayılar ve true/false da dize kalır), boş öğe ise [] olur. Öznitelik veya alt öğeyle karışık metin "#text" altına yazılır. CDATA metin sayılır, yorumlar atılır. Ad alanlı adlar önekini korur. Düğüm sayısı öğe sayısıdır. Geçersiz XML sonuç vermez.
Örnek hesaplama
<order id="17"><item>Pen</item><item>Ink</item></order> metnini yapıştırın. Kök order’dır; araç bir order ve iki item öğesi sayar, yani düğüm sayısı 3 olur. id="17" özniteliği "@attributes": {"id": "17"} olur. İki item aynı adı taşıdığı için "item": ["Pen", "Ink"] dizisine dönüşür. order etiketinin kendisi bir anahtar değildir. Tek item olsaydı aynı alan dizi değil, düz bir dize olurdu: "item": "Pen".
Sık yapılan hatalar
- Kök etiketin en üst anahtar olmasını beklemek. Çıktı kökün içeriğiyle başlar; kök adı yalnızca kök alanında görünür, JSON’u kullanan sistem ihtiyaç duyuyorsa onu kendiniz ekleyin.
- Tekrarlanan öğenin her zaman dizi olacağını sanmak. Tek
<item>dize ya da nesne, iki ve daha fazlası dizi olur; sonucu okuyan kod ikisini de karşılamalıdır. - Sayı ve mantıksal değer beklemek. Her değer dize çıkar;
<qty>007</qty>, baştaki sıfırlarla birlikte "007" olur. - Karışık öğelerin özgün sırasına güvenmek. Aynı adlı kardeşler bir araya toplanır; b, c, b sırası b: [ilk, ikinci], c olarak çıkar.
- Bozuk XML yapıştırmak: kapanmamış etiket, kaçışsız & ya da iki kök öğe. Ayrıştırıcı kısmi sonuç yerine hiç sonuç vermez; önce işaretlemeyi düzeltin.
Bu hesaplama hakkında
XML ve JSON, her ikisi de yapılandırılmış ve okunabilir veri biçimleridir, ancak bilgiyi farklı şekillerde düzenlerler — XML iç içe etiketler ve öznitelikler kullanırken, JSON iç içe nesneler, diziler ve anahtar-değer çiftleri kullanır — bu yüzden ikisi arasında elle dönüşüm yapmak zahmetli ve hataya açıktır. Bu dönüştürücü, herhangi bir XML belgesini ayrıştırır, öğe ağacında gezinir ve bunu temiz, düzgün biçimlendirilmiş JSON olarak yeniden oluştururken kök öğe adını ve yaklaşık düğüm sayısını da bildirir.
Bu dönüşüm, eski veya üçüncü taraf sistemleri entegre eden geliştiriciler için rutin bir adımdır — birçok eski API, RSS/Atom besleme, SOAP servisi ve kurumsal sistem hâlâ XML kullanırken, günümüzün web ve mobil uygulamalarının çoğu JSON tüketir — bu yüzden örnek bir yanıtı dönüştürmek genellikle bir JSON şemasını taslak hâline getirmenin, yeni bir uç noktayı test etmenin veya XML verisini bir JavaScript ön yüzüne beslemenin en hızlı yoludur.
Bu faydalı oldu mu?
En fazla 3 tepki seçebilirsiniz.
Popüler hesaplayıcılar
Kredi Hesaplama
Aylık taksit, toplam faiz ve ödeme planını hesaplayın.
Yüzde Hesaplama
Yüzde değişim, indirim ve oran hesaplamaları.
İndirim Hesaplama
İndirimli fiyatı, kazancı ve indirim tutarını hesaplayın.
Vücut Kitle Endeksi (VKİ)
Boy ve kiloya göre vücut kitle endeksini hesaplayın.
Yaş Hesaplama
Doğum tarihinden bugüne tam yıl, ay ve gün cinsinden yaşınızı hesaplayın.
Bileşik Faiz Hesaplama
Ana para, faiz oranı ve süreye göre bileşik faizle nihai tutarı hesaplayın.
Tüm Hesaplayıcılar
- Kredi Hesaplama
- Kar Hesaplama
- İndirim Hesaplama
- Vücut Kitle Endeksi (VKİ)
- Yüzde Hesaplama
- İdeal Kilo Hesaplama
- Yaş Hesaplama
- Gebelik Hesaplama
- Bileşik Faiz Hesaplama
- Bazal Metabolizma (BMR) Hesaplama
- Bahşiş Hesaplama
- Yakıt Maliyeti Hesaplama
- Tarih Farkı Hesaplama
- Uyku Döngüsü Hesaplama
- Günlük Su İhtiyacı Hesaplama
- Basit Faiz Hesaplama
- Kalp Atış Hızı Bölgeleri Hesaplama
- Koşu Temposu Hesaplama
- Evcil Hayvan Yaşı Hesaplama
- Kalori Yakım Hesaplama
- Makro Besin Dağılımı Hesaplama
- TDEE (Toplam Günlük Enerji İhtiyacı) Hesaplama
- Bel-Kalça Oranı Hesaplama
- Takdir ve Teşekkür Belgesi Hesaplama
- Tek Tekrar Maksimum (1RM) Hesaplama
- Yumurtlama (Ovülasyon) Hesaplama
- Elektrik Maliyeti Hesaplama
- Birim Fiyat Hesaplama
- Tasarruf Hedefi Hesaplama
- Başabaş Noktası Hesaplama
- Boya Hesaplama
- Vize-Final Ortalama Hesaplama
- İş Günü Hesaplama
- Saat Farkı (Süre) Hesaplama
- Yakıt Tüketimi Hesaplama
- Sıcaklık Birimi Çevirici
- Fayans (Seramik) Hesaplama
- En-Boy Oranı Hesaplama
- Roma Rakamı Çevirici
- Hedef Kilo Süresi Hesaplama
- Maaş Çevirici (Saatlik-Yıllık)
- Kredi Kartı Doğrulama (Luhn)
- Vücut Yüzey Alanı (BSA) Hesaplama
- Hissedilen Sıcaklık Hesaplama
- Ohm Kanunu Hesaplama
- PPI (Piksel Yoğunluğu) Hesaplama
- Molar Kütle Hesaplama
- Burç Hesaplama (Batı + Çin)
- IBAN Doğrulama
- Ayakkabı Numarası Dönüştürücü
- Ülke Bilgisi (Telefon Kodu) Sorgulama
- Saat Dilimi Farkı (Dünya Saati)
- CAGR (Bileşik Yıllık Büyüme) Hesaplama
- 72 Kuralı Hesaplama
- Kandaki Alkol (Promil) Hesaplama
- Yağsız Vücut Kütlesi (LBM) Hesaplama
- Pisagor Teoremi Hesaplama
- Hız Birimi Dönüştürücü
- İndirme Süresi Hesaplama
- Tarih Hesaplama (Gün Ekle/Çıkar)
Hesaplayıcı bulunamadı
Yorumlar (1)
Tekrarlanan etiket adları tek bir dizide toplandığı için, farklı etiketlerin iç içe geçme sırası korunmaz. Kayıtlar ve beslemeler için sakıncası yoktur; ama sıranın önemli olduğu belgeler, örneğin işaretlenmiş metinler veya farklı etiket türlerini karıştıran adım listeleri, özgün XML'e geri dönüştürülemez. Ayrıca her yaprak değer metin olarak kalır, sayıları ve mantıksal değerleri kendi kodunuzda dönüştürmeniz gerekir. Hangi tür XML'i dönüştürüyorsunuz: bir besleme, yapılandırma dosyası mı yoksa API yanıtı mı?