JSON'ten XML'e
Bir JSON belgesi yapıştırın; seçtiğiniz kök öğe adıyla, diziler için tutarlı bir stratejiyle (tekrarlanan öğeler veya bir sarmalayıcı), isteğe bağlı XML bildirimiyle ve düzgün girintilemeyle XML karşılığını alın. Eski bir sistem XML isterken kaynak verileriniz JSON biçiminde tutuluyorsa oldukça işe yarar.
JSON'ı XML'e nasıl dönüştürürsünüz?
-
1
JSON'u yapıştırın
En üst düzeyde bir nesne veya dizi. Kök öğeye bir ad vereceksiniz.
-
2
Kökü adlandırın
XML tek bir kök öğe gerektirir. Varsayılan değer `<root>`'tur; `<users>` veya `<response>` gibi anlamlı bir ad verin.
-
3
Dizi stratejisini seçin
"Tekrarlanan öğeler" (her dizi öğesi bir kardeş `<item>`'e dönüşür) veya "sarmalayıcı" (dizi, adlandırılmış bir sarmalayıcı öğenin içine yerleştirilir).
-
4
XML'i kopyalayın
İsteğe bağlı XML bildirimi, düzgün girintileme ve `<`, `>`, `&` ile tırnak işaretleri için varlık kaçışlı değerler.
Örnek: tekrarlanan öğeler
Giriş:
{ "users": [ { "name": "Alice" }, { "name": "Bob" } ] }
Çıkış:
<?xml version="1.0" encoding="UTF-8"?>
<root>
<users>
<name>Alice</name>
</users>
<users>
<name>Bob</name>
</users>
</root>
Örnek: dizi sarmalayıcı
“dizileri <item> içine sarma” stratejisiyle aynı girdi:
<root>
<users>
<item>
<name>Alice</name>
</item>
<item>
<name>Bob</name>
</item>
</users>
</root>
Tür Haritalaması
| JSON | XML |
|---|---|
| dize | metin içeriği, varlık kaçışlı |
| tam sayı / ondalık | metin içeriği (XML tip ek açıklaması yok) |
| boole | true / false metin olarak |
| null | boş öğe (<foo/>) veya atlanır |
| dizi | tekrarlanan öğeler veya sarmalayıcı + öğeler |
| nesne | alt öğeler içeren iç içe öğe |
Öznitelikler vs öğeler
XML, öznitelikleri (<user id="1">) alt öğelerden (<user><id>1</id></user>) ayırt eder. Dönüştürücü varsayılan olarak öğeleri kullanır; öğeler gidiş-dönüş dönüşümünde kayıpsızdır. Sonraki aşamadaki XML’iniz öznitelik gerektiriyorsa anahtar ön ek kuralını kullanın:
- JSON anahtarı
@id, üst öğedeid="..."adlı bir XML özniteliğine dönüşür. - JSON anahtarı
#text, üst öğenin metin içeriği olur.
Bu kurallar, en yaygın iki JSON’dan XML’e standardı olan BadgerFish ve Parker eşlemelerinden gelir.
Kaçış kuralları
<-><>->>&->&"->"(öznitelik değerlerinde)'->'(isteğe bağlı)- UTF-8’deki baytlar korunur ve XML prologunda bildirilir.
Yaygın hatalar
- Kök düzeyinde bir JSON dizisi. XML tek bir kök öğe gerektirir. Dönüştürücü diziyi
<root>(veya seçtiğiniz herhangi bir ad) içine sarar. - Sayısal anahtarlar. JSON
{"1": "a"}geçerlidir; XML öğe adları bir rakamla başlayamaz. Dönüştürücü, rakamların önüne alt çizgi ekler (_1) ya da özel bir eşleme tanımlamanıza olanak tanır. - Karışık diziler.
[1, "two", { "x": true }]için temiz bir eşleme yoktur. Bu genellikle JSON’un dönüştürülmeden önce normalleştirilmesi gerektiği anlamına gelir. - Devasa belgeler. XML ayrıntılıdır; 10 MB’lık bir JSON, 20-30 MB’lık bir XML’e dönüşebilir. Çok büyük yükler için akışlı dönüştürmeyi değerlendirin.
Sık Sorulan Sorular
XML, belirtim gereği tek bir kök öğe gerektirir. JSON’unuz bir dizi ise veya birden fazla üst düzey anahtar içeriyorsa, dönüştürücü her şeyi adlandırabileceğiniz bir kök öğenin içine sarar (varsayılan <root>).
Evet. JSON anahtarlarınızda @ ön ek kuralını kullanın (örneğin "@id": 1); bu anahtarlar özniteliklere dönüşür, diğer anahtarlar alt öğe olarak kalır. Bu, BadgerFish eşlemesiyle uyumludur.
İki strateji vardır: tekrarlanan kardeş öğeler (her öğe, etiketi olarak üst anahtarı alır) veya içinde <item> öğeleri bulunan bir sarmalayıcı. Hedeflediğiniz XML şemasına uyan hangisiyse onu seçin.
Hayır. Dönüştürücü XML bildirimini (<?xml version="1.0"?>) üretir ancak DOCTYPE üretmez. DTD veya XSD referansı gereken XML için bunu dönüştürmeden sonra elle ekleyin.
İlgili Araçlar
ASCII Tablosu Referansı
NUL, LF ve DEL dahil her kod için ondalık, onaltılık, sekizlik ve ikili değerlerle HTML sayısal karakter başvurusu gösterimini sunan tam ASCII tablosu.
HTML Karakter Referansı
HTML varlıklarının aranabilir listesi; adlandırılmış ve sayısal kodlarıyla birlikte özel karakter ve semboller için tek tıkla kopyalama.
Klavye kısayolları başvurusu
macOS, Windows ve Linux’ta VS Code, Chrome ve GNU Readline kullanan Bash için belgelenmiş varsayılan kısayolları arayın.
FPS Sayacı
requestAnimationFrame ile tarayıcı FPS değerini ölçün: yumuşatma, en düşük ve en yüksek kare hızı, uyarı eşiği ve isteğe bağlı grafik. Yerel çalışır, yükleme ve API yoktur.
EditorConfig Oluşturucu
Girinti stili ve boyutu, satır sonu, karakter kümesi ve boşluk kurallarınızla bir .editorconfig dosyası oluşturarak IDE ve editörler arasında tutarlı biçimlendirme sağlayın.
E-posta Doğrulayıcı
Bir e-posta adresini doğrulayın: RFC 5322 sözdizimi kontrolü, canlı MX kaydı sorgulama, ayrıca yerel kısım, alan adı ve uzunluk bilgileri. Hiçbir e-posta gönderilmez.
Araç diğer dillerde mevcuttur
- แปลง JSON เป็น XML [TH]
- JSON zu XML [DE]
- JSON ke XML [ID]
- JSONからXMLへ [JA]
- JSON a XML [ES]
- JSON do XML [PL]
- JSON para XML [PT]
- JSON vers XML [FR]
- JSON에서 XML로 [KO]
- Chuyển đổi từ JSON sang XML [VI]
- JSON till XML [SV]
- JSON إلى XML [AR]
- JSON naar XML [NL]
- JSON to XML [EN]
- JSON in XML [IT]
- Преобразование JSON в XML [RU]
- JSON 到 XML [ZH]