JSON, XML'e nasıl dönüştürülür?
- JSON yapıştırın veya bir
.jsondosyası açın. Siz yazdıkça XML yanında görünür. - Kök öğe adını (tek üst düzey anahtarı kullanmak için boş bırakabilirsiniz), öznitelik ön ekini ve girintiyi ayarlayın.
- XML'i kopyalayın veya
.xmldosyası olarak indirin.
JSON, XML'e nasıl eşlenir?
| JSON | XML |
|---|---|
{"name": "Ada"} | <name>Ada</name> |
{"@id": "7"} | üst öğede id="7" özniteliği |
{"#text": "Hello"} | üst öğenin metin içeriği |
{"tag": ["a", "b"]} | <tag>a</tag><tag>b</tag> |
{"note": null} | <note/> |
{"2nd key": 1} | <_2nd_key>1</_2nd_key> – geçersiz adlar düzeltilir |
üst düzey dizi [1, 2] | <root><item>1</item><item>2</item></root> |
metin içindeki &, <, > | &, <, > |
JSON ile XML arasındaki farklar
JSON'da diziler, sayılar, boolean değerler ve null bulunur; XML'de ise yalnızca öğeler, öznitelikler ve metin vardır, bu yüzden türler korunmaz: 42 ve "42" ikisi de 42 metnine dönüşür. Buna karşılık XML'de JSON'da olmayan öznitelikler, ad alanları (namespace) ve karışık içerik bulunur. XML'i daha sonra tekrar JSON'a dönüştürmeyi planlıyorsanız burada kullanılan yaygın kurallara uyun – öznitelikler için @, metin içeriği için #text – çoğu dönüştürücü bu kuralları anlar.
Sıkça sorulan sorular
JSON dizileri XML'e nasıl dönüştürülür?
Her öğe, dizinin anahtarıyla adlandırılan bir XML öğesine dönüşür; yani {"book": [ … ]} birden fazla <book> öğesi olur. Üst düzey bir dizinin öğeleri ise kök içinde <item> öğelerine dönüşür.
JSON'dan XML öznitelikleri nasıl oluşturulur?
Anahtarın başına @ ekleyin: {"user": {"@id": 7, "name": "Ada"}} şuna dönüşür: <user id="7"><name>Ada</name></user>. Ön eki seçeneklerden değiştirebilirsiniz.
Geçerli XML adı olmayan anahtarlara ne olur?
XML adlarında bulunamayan boşluk gibi karakterler alt çizgiyle değiştirilir; rakamla veya “xml” ile başlayan adların önüne de bir alt çizgi eklenir: "2nd key" şuna dönüşür: <_2nd_key>.
Oluşturulan XML geçerli mi?
Evet. Özel karakterler escape edilir, her öğe adı geçerlidir ve belgenin tam olarak bir kök öğesi vardır; en üstte isteğe bağlı bir XML bildirimi de bulunabilir.