UltKit

XML'den JSON'a Dönüştürücü

Bir SOAP yanıtındaki, RSS akışındaki, yapılandırma dosyasındaki veya eski bir sistemden dışa aktarılan verileri, elle ayrıştırıcı yazmadan JavaScript, Python ya da kodsuz aracınızın doğrudan okuduğu JSON'a taşıyın.

Veri Dönüştürücü

veya CSV, TSV, TXT … dosyaları buraya bırakın ·

Dosya başına en fazla 95 MB· En fazla 20 dosya· 30 dakika sonra silinir

Çıktı

Dosyalar sunucularımızda işlenir ve 30 dakika sonra silinir.

Bu aracı nasıl kullanırsınız

  1. 1

    XML dosyasını yükleyin

    XML dosyalarını yükleme alanına bırakın; her partide en fazla 20 dosya, her biri en çok 95 MB olabilir. Her dosya ayrı ayrı dönüştürülür.

  2. 2

    Okunabilir veya sıkı biçimi seçin

    Okunaklı biçimlendir açıktır; JSON okuma ve kod incelemesi için girintilenir. Bir API gövdesi için en küçük tek satırlık çıktıyı almak istiyorsanız bunu Gelişmiş ayarlar altından kapatın.

  3. 3

    Dönüştürün ve JSON'u kullanın

    JSON biçimine Dönüştür düğmesine basın, .json dosyasını indirin ve kodunuza ya da aracınıza yükleyin.

XML'i yükleyin ve JSON biçimine Dönüştür düğmesine basın: öğeler anahtar olur, tekrarlanan öğeler diziye dönüşür, öznitelikler @ ile başlayan anahtarlar olarak korunur; böylece etiketlerdeki hiçbir bilgi kaybolmaz.

XML'den JSON'a dönüştürücü kimin işine yarar

XML 1.0, Şubat 1998'de W3C Tavsiyesi oldu ve sonraki on yıl boyunca sistemlerin birbiriyle konuşma biçimi hâline geldi: SOAP web servisleri, RSS ve Atom akışları, Office belgeleri, bankacılık mesajları, ürün katalogları. Bu sistemlerin çoğu hâlâ çalışıyor. RFC 8259'da tanımlanan JSON ise yeni web API'lerinde öne geçti; çünkü JavaScript onu ayrıştırıcı kütüphane olmadan okur ve neredeyse her dilde liste ve sözlüklere birebir karşılık gelir.

Bu yüzden dönüştürenler genellikle iki dönem arasında köprü kurar. Bir ön yüz geliştiricisi ödeme ya da kargo sağlayıcısından SOAP yanıtı alır ve düz bir nesne ister. Zapier veya Make'te çalışan bir otomasyon kurucusu, tedarikçinin XML akışını JSON ile en iyi çalışan bir akışa çeker. Bir veri mühendisi eski bir Java uygulamasının yapılandırma dosyalarını taşır ya da bir öğrenci ders projesi için RSS akışına JSON olarak ihtiyaç duyar. Hepsi aynı yapıyı açılı parantezler olmadan ister.

XML'i JSON'a dönüştürme: etiketler, nitelikler ve metin nasıl eşlenir

XML girdisi: bir öznitelikli, tek müşterili ve iki ürünlü sipariş
<order id="A-77">
  <customer>Elif Arslan</customer>
  <total currency="EUR">59.90</total>
  <item sku="0042">Masa lambası</item>
  <item sku="0108">LED ampul</item>
</order>
Yukarıdaki siparişin her bölümünün JSON'da görünümü
XML yapısıÖrnekJSON sonucu
Kök öğe<order>En üst düzey anahtar order
Öznitelikid="A-77""@id": "A-77"
Yalnızca metin içeren öğe<customer>"customer": "Lena Ortiz"
Metin ve öznitelik birlikte<total currency="EUR"> (öznitelikli öğe){"@currency": "EUR", "#text": "59.90"}
Tekrarlanan öğeiki <item> etiketi"item": [ … , … ] dizisi
Yorum<!-- note -->Atılır; JSON'da yorum yoktur

XML

Extensible Markup Language

XML, W3C'nin 1998'de yayımladığı, yapılandırılmış veriler için bir işaretleme dilidir. Öznitelikli iç içe etiketler kullanır; şemaları, ad alanlarını ve doğrulamayı destekler, bu da karmaşık belgeler için sağlam kılar. RSS akışlarının, SVG'nin, Office belgelerinin, site haritalarının ve birçok kurumsal ve resmi veri alışverişinin temelindedir. XML, JSON'a kıyasla uzun yazılır, ancak her programlama dili ve birçok elektronik tablo aracı onu okuyabilir.

Sıkıştırma
–
Saydamlık
–
Animasyon
–
Çıkış yılı
1998 · W3C
XML dönüştürücü

JSON

JavaScript Nesne Gösterimi (JSON)

JSON, yapılandırılmış veriler için hafif bir metin biçimidir; 2000'lerin başında Douglas Crockford tarafından yaygınlaştırılmış ve RFC 8259 ile ECMA-404 olarak standartlaştırılmıştır. Nesneleri, dizileri, dizgileri, sayıları, mantıksal değerleri ve null'ı basit, okunabilir bir sözdizimiyle gösterir. Web API'leri, yapılandırma dosyaları ve neredeyse her programlama dilindeki uygulamalar arasında veri alışverişi için varsayılan biçimdir. Yorum, tarih veya şema desteği yoktur; büyük iç içe dosyaları bir görüntüleyici olmadan okumak zordur.

Sıkıştırma
–
Saydamlık
–
Animasyon
–
Çıkış yılı
2001 · Douglas Crockford
JSON dönüştürücü

Eski ya da kurumsal bir sistemden gelen verinin bir web uygulamasına, bir betiğe veya otomasyon aracına ulaşması gerektiğinde XML, JSON'a dönüştürülür: JSON, JavaScript'te doğrudan ayrıştırılır ve Python sözlüklerine birebir karşılık gelir.

JSON'da karşılığı olmayan XML özellikleri

Her iki biçim de ağaçları tanımlar, ancak XML'in JSON'da hiç olmayan ekleri vardır. W3C'nin 1999'da tanımladığı ad alanları, bir belgede soap: ve xsi: gibi sözlüklerin karıştırılmasına izin verir; JSON'da ise yalnızca anahtar adlarının parçası olarak yaşarlar. Yorumlar ve işleme yönergeleri için yer yoktur ve atılır. Karma içerik, yani bir XHTML paragrafında kalın bir sözcük gibi metnin alt etiketlerle iç içe geçmesi, geçerli XML'dir ama JSON'da hantallaşır; bu yüzden belge tarzı XML'i JSON yerine HTML'ye ya da Markdown'a dönüştürmek daha iyidir.

Sıra ince bir konudur. XML kardeş öğeleri sırayla tutar ve bir şema buna dayanabilir; bir JSON nesnesinin anahtarları ise standarda göre sırasızdır. Tekrarlanan öğeler dizilerinin içinde sıralarını korur; bu da gerçek verilerin çoğunu kapsar. XML, kodda değil de bir e-tabloda kullanılacak düz bir kayıt listesiyse XML'den Excel'e size doğrudan satır ve sütun verir, XML'den CSV'ye ise veri tabanına aktarma için bir dosya üretir.

XML'den JSON'a dönüştürücü hakkında sorular

Aynı öğe neden bir dosyada dizi, diğerinde nesne oluyor?

Dönüştürücü yalnızca belgedeki içeriği görür. Bir siparişte üç item etiketi varsa items bir diziye dönüşür; yalnızca bir tane varsa tekrar edecek bir şey olmadığından tek bir nesne olur. JSON'u okuyan kod her iki biçimi de kabul etmeli ya da döngüden önce tek nesneyi bir diziye sarmalıdır.

XML nitelikleri JSON'da nasıl yazılır?

Her öznitelik, adının önüne @ konarak bir anahtara dönüşür; yani currency="EUR" ifadesi "@currency": "EUR" olur. Bir öğenin hem öznitelikleri hem metni varsa metin, onların yanında #text anahtarına yazılır. Bu yöntem, öznitelikler ile alt öğeler aynı adı taşıdığında çakışmayı önler.

XML'deki sayılar JSON sayısına dönüştürülür mü?

XML'in kendine ait veri türleri yoktur; bir etiketin içinde 42 ile "42" aynı görünür. Bu yüzden değerler metin olarak çıkar; böylece posta kodları ve 007 gibi kimlikler korunur. Kodunuzun ihtiyaç duyduğu alanları ayrıştırmadan sonra sayıya çevirin.

soap:Envelope gibi ad alanı önekleri ne oluyor?

Ön ek anahtar adının parçası olarak kalır; zarf soap:Envelope, ad alanı bildirimi ise @xmlns:soap anahtarı olarak görünür. Bu, farklı sözlüklerdeki öğeleri birbirinden ayrı tutar; yalnızca tek bir sözlükle çalışıyorsanız ön ekleri kodunuzda temizleyebilirsiniz.

JSON'u daha sonra tekrar XML'e dönüştürebilir miyim?

Evet, JSON'dan XML'e aracıyla. Aynı @ ve #text kuralına uyularak öznitelikler yeniden öznitelik olarak döner. Yorumlar ve özgün girinti geri gelmez, çünkü JSON bunları hiç içermemiştir.