DokumentyObrazyMediaNarzędzia PDF

Konwerter JSON na XML Online

Konwertuj JSON do poprawnego XML w Twojej przegladarce. Idealne do integracji REST API z uslugami SOAP, zasobami Androida i konfiguracjami opartymi na XML.

<?xml version="1.0" encoding="UTF-8"?>
<root>
  <users>
    <user id="1">
      <name>John</name>
      <age>30</age>
    </user>
    <user id="2">
      <name>Maria</name>
      <age>25</age>
    </user>
  </users>
</root>
Processed in your browser

JSON do XML: integracja nowoczesnych API z systemami dziedzictwa

REST do SOAP

Integruj odpowiedzi nowoczesnych REST API z korporacyjnymi uslugami SOAP wymagajacymi XML.

Zasoby Androida

Generuj strings.xml, arrays.xml i konfiguracje ukladow XML z danych JSON z Twojego API.

W 100% prywatne

Twoj JSON jest konwertowany w Twojej przegladarce. Dane z Twojego API nigdy nie opuszczaja Twojego urzadzenia.

Poprawnie uformowany XML

Generuj poprawny XML zgodny z W3C XML 1.0 z deklaracja kodowania, prawidlowym eskejpowaniem i zagniezdzona struktura.

Trzy kroki, żadnych komplikacji

1

Wklej swoj JSON

Wklej JSON ze swojego REST API, odpowiedzi uslug webowych lub dowolnego obiektu JSON, ktory chcesz przedstawic w formacie XML.

2

Natychmiastowa konwersja

Konwerter generuje poprawnie uformowany XML zgodny ze standardem W3C XML 1.0, z czytelnym wciecia.

3

Skopiuj wynikowy XML

Skopiuj XML do uzycia w integracji SOAP, pliku zasobow Androida, pliku konfiguracyjnego lub dowolnym systemie opartym na XML.

Masz pytania?

Tablice JSON nie maja bezposredniego odpowiednika w XML, poniewaz XML nie posiada koncepcji tablicy jako natywnego typu — tylko elementy i atrybuty. Najpowszechniej stosowana konwencja polega na powtarzaniu elementu otokowego dla kazdego elementu tablicy. Na przyklad ["a", "b", "c"] pod kluczem "item" generuje trzy elementy <item>a</item><item>b</item><item>c</item>. Dla tablic obiektow kazdy obiekt staje sie elementem potomnym z wlasciwosciami jako zagniezdzonymi elementami lub atrybutami. Ta konwencja jest przyjeta przez xml2js (Node.js), JAXB (Java) i wiekszos frameworkow serializacji XML.

Tak, przy uzyciu konwencji prefiksu @. W konwencji BadgerFish klucze JSON zaczynajace sie od @ staja sie atrybutami XML elementu nadrzednego. Na przyklad {"element": {"@id": "123", "#text": "tresc"}} generuje <element id="123">tresc</element>. Ta konwencja jest stosowana przez xml2js z opcja mergeAttrs, przez Jackson XML (Java) z @JacksonXmlProperty oraz przez System.Xml.Serialization w .NET z [XmlAttribute].

Przestrzenie nazw XML (zdefiniowane w specyfikacji W3C z stycznia 1999 roku) umozliwiaja mieszanie slownikow XML bez konfliktow nazw. Przy konwersji JSON do XML przestrzenie nazw moga byc reprezentowane jako atrybuty xmlns dla elementu glownego lub poszczegolnych elementow. Dokladna specyfikacja zalezy od systemu docelowego — SOAP, KML, GPX, RSS 2.0, Atom — i wymaga dostosowania schematu konwersji do odpowiedniego slownika XML.

Znaki specjalne w wartosciach tekstowych JSON sa automatycznie eskejpowane zgodnie z regulami XML: < staje sie &lt;, > staje sie &gt;, & staje sie &amp;, " staje sie &quot;, a ' staje sie &apos;. Dla tresci zawierajacych duze bloki tekstu z wieloma znakami specjalnymi bardziej odpowiednia jest sekcja CDATA: <![CDATA[tresc z <tagami> i & bez eskejpowania]]>. Parsery XML traktuja zawartosc CDATA jako tekst literalny bez przetwarzania encji eskejpujacych.

Wygenerowany XML zawiera deklaracje <?xml version="1.0" encoding="UTF-8"?> na poczatku. UTF-8 jest kodowaniem rekomendowanym przez W3C dla dokumentow XML (XML 1.0 piata edycja, sekcja 4.3.3). UTF-8 jest kompatybilny z ASCII dla podstawowych znakow i moze reprezentowac dowolny znak Unicode, zapewniajac kompatybilnosc z tekstem w dowolnym jezyku. Systemy SOAP i wiekszosc uslug webowych domyslnie oczekuje UTF-8.

Tak. RSS 2.0 (specyfikacja Dave'a Winera z 2002 roku) i mapy witryn XML (protokol Sitemaps zdefiniowany na sitemaps.org, przyjety przez Google w 2005 roku) to slowniki XML o predefiniowanej strukturze. Aby wygenerowac RSS z JSON, nalezy zmapowac strukture JSON na wymagane elementy RSS 2.0: <channel> z <title>, <link>, <description> oraz elementy <item> z <title>, <link>, <pubDate>, <guid>. Dla map witryn schemat jest prostszy: element glowny <urlset> z xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" i elementy <url> z <loc>, <lastmod>, <changefreq>, <priority>. Konwerter generuje poprawny XML; mapowanie pol JSON na XML jest odpowiedzialnoscia dewelopera.

Konwertuj JSON do XML: integracja REST-SOAP, zasoby Androida i generowanie feedów

XML (Extensible Markup Language) zostal zdefiniowany przez W3C w rekomendacji XML 1.0 (opublikowanej 10 lutego 1998 roku, aktualnie w piatej edycji z listopada 2008 roku) jako metajezyk do definiowania ustrukturyzowanych slownikow znacznikow. W calej dekadzie lat 2000. XML byl powszechnym formatem wymiany danych: SOAP (Simple Object Access Protocol, specyfikacja W3C z 2003 roku) uzywal XML jako formatu komunikatow dla korporacyjnych uslug webowych; RSS 2.0 i Atom 1.0 (RFC 4287, grudzien 2005) dystrybuowaly kanaly tresci w XML; Android (uruchomiony przez Google w 2008 roku) uzywal XML dla ukladow, lancuchow i manifestow aplikacji; a SVG (W3C 1.1 z 2003 roku) jest XML. Potrzeba konwersji JSON do XML pojawia sie w trzech glownych scenariuszach: integracja nowoczesnych REST API z korporacyjnymi systemami SOAP lub EDI; generowanie zasobow XML dla Androida (strings.xml, arrays.xml) z danych JSON backendu; oraz tworzenie kanalow RSS, map witryn lub dokumentow KML/GPX z danych przechowywanych w JSON.

Konwersja JSON do XML wymaga rozwiazania fundamentalnych roznic miedzy dwoma modelami danych. JSON to drzewo wartosci: obiekty (pary klucz-wartosc), tablice, lancuchy znakow, liczby, wartosci logiczne i null. XML to drzewo wezlow: elementy (ktore moga jednoczesnie miec atrybuty I zawartosc potomna/tekstowa), tekst, komentarze, instrukcje przetwarzania i sekcje CDATA. Najpowszechniej przyjete konwencje konwersji to konwencja BadgerFish, gdzie klucze z prefiksem @ staja sie atrybutami XML, a specjalny klucz #text staje sie zawartoscia tekstowa elementu; oraz konwencja Parker (prostsza, bez atrybutow). Dla integracji SOAP XML musi byc zgodny z WSDL uslugi, co wymaga jawnego mapowania pol JSON na typy zdefiniowane w schemacie XSD. Dla zasobow Androida elementy <string>, <string-array> i <plurals> w strings.xml maja specyficzne konwencje, ktore musza byc przestrzegane, aby kompilator aapt2 mogl je prawidlowo przetworzyc.

Do zastosowania produkcyjnego na duzaskal najszerzej stosowane narzedzia do konwersji JSON do XML to: w Node.js — xml2js (ponad 25 milionow miesiecznych pobran z npm) i xmlbuilder2; w Javie — Jackson z modulem jackson-dataformat-xml i specyfikacja JAXB; w Pythonie — biblioteka xmltodict w polaczeniu z xml.etree ze standardowej biblioteki; w .NET — System.Xml.Serialization i wbudowany konwerter JsonConvert.SerializeXmlNode z Newtonsoft.Json. Dla generowania map witryn z danych JSON specyfikacja protokolu Sitemaps definiuje scisly schemat XML: element glowny urlset musi zawierac atrybut xmlns z prawidlowa przestrzenia nazw. Walidacja wygenerowanego XML wzgledem schematu XSD systemu docelowego to fundamentalny krok w integracjach korporacyjnych — narzedzia takie jak xmllint lub walider W3C pozwalaja zweryfikowac zgodnosc przed wdrozeniem.