Nasıl kullanılır?
- JSON'u JSON alanına yapıştırın. Üst düzeydeki tek üye kök öğe olur.
- Öznitelikler için @id gibi @ önekini, bir öğenin metni için #text anahtarını kullanın.
- Bir Girinti seçin ya da en kısa XML için Satır sonu yok (küçültülmüş) seçeneğini işaretleyin.
- XML metnini kopyalayın ya da converted.xml olarak indirin.
Eşleme kural kural
XML'de öğeler ve öznitelikler vardır; JSON'da nesneler, diziler ve değerler vardır. Eşleme bu ikisini tek yönde bağlar. Üst düzey, tek bir üyesi olan bir nesnedir: adı kök öğedir. Bir nesne bir öğe olur. Adı @ ile başlayan bir üye öznitelik olur; #text adlı üye öğenin metni olur. Diğer her üye, o adla bir alt öğe olur.
Bir dizi, her öğesi için dizinin adıyla bir alt öğe verir; bu yüzden bir kitap listesi tekrarlanan book öğeleri olarak yazılır. Metin, sayı ve true ya da false bir metne dönüşür. null ve boş bir nesne boş bir öğe olur. Boş bir dizinin XML karşılığı yoktur ve dışarıda bırakılır.
- Bir ad bir XML adı olmalıdır: aralarında boşluk bulunan first name gibi bir anahtar öğe adı olamaz.
- Bir dizinin içindeki dizi reddedilir, çünkü öğelerine verilecek bir ad yoktur.
- Bir sayının metni JavaScript'in yazdığı gibi yazılır; 15 ya da 16 anlamlı basamağı aşan bir sayı, JSON okumada olduğu gibi basamak kaybedebilir.
Eşlemenin koruyamadıkları
XML'in türü yoktur; bu yüzden 12 sayısı ile "12" metni geri dönüşte ayırt edilemez. XML'den JSON'a dönüştürücü, sayıya benzeyen metni, türünü kapatmadığınız sürece sayı olarak okur. Boş bir nesne ile null XML'de aynı görünür; tek öğeli bir dizi de o öğenin kendisi olarak geri gelir. Bunlar eşlemenin sınırlarıdır, aracın hataları değildir.
Yorumlar ve işleme talimatları yazılmaz, çünkü JSON'da bunları tutacak bir yer yoktur. Bir öğenin içindeki metin kaçışlanır; bu yüzden & , < ve > XML'de metin olarak kalır.
Örnek: varsayılan katalog
Varsayılan JSON'un tek üyesi catalog'dur. Onun @version'ı catalog öğesinin version özniteliği olur; book dizisi ise iki book öğesi olur. Her book kendi @id'sini id özniteliği olarak alır; title, price ve inStock anahtarları alt öğe olur. İkinci kitabın price değeri null olduğundan price boş bir öğe olur.
İki boşlukla ve bildirimle çıktıda sekiz öğe vardır: katalog, iki kitap ve ilk kitabın üç, ikincinin iki alt öğesi. Sayaç 8 gösterir.
Sık sorulan sorular
JSON'da öznitelik nasıl yazılır?
Anahtarın başına @ koyun. "@id": "1" üyesi, onu tutan öğede id="1" olur. Öznitelik değerleri metin, sayı ya da true veya false olmalıdır; nesne ya da dizi olamaz.
Dizim neden aynı adlı birkaç öğeye dönüşüyor?
XML'de dizi yoktur. Dizinin her öğesi, dizinin adıyla tek bir öğe olur ve sıra korunur; kitaplar ya da ürünler gibi tekrarlayan şeyleri XML'de böyle listelenir.
Üst düzeyle ilgili neden bir hata alıyorum?
XML'in tam olarak bir kök öğesi olmalıdır. JSON, {"catalog": {...}} gibi tek bir üyesi olan bir nesne olmalıdır; üst düzeyde bir liste ya da birden çok üye tek bir belge olamaz.
Boşluk içeren bir anahtar neden reddediliyor?
XML öğe adlarında boşluk bulunamaz. Dönüştürmeden önce anahtarı örneğin first-name ya da firstName olarak yeniden adlandırın.
JSON'um bir sunucuya gönderiliyor mu?
Hayır. Dönüştürme tarayıcınızda çalışır. Yapıştırdığınız hiçbir şey sunucumuza gönderilmez ve orada saklanmaz.
Kaynaklar
- RFC 8259: The JavaScript Object Notation (JSON) Data Interchange Format
- W3C: Extensible Markup Language (XML) 1.0, Beşinci Baskı
Rakamlar ve metin en son 10 Kasım 2026 Salı tarihinde kontrol edildi.