Konwerter JSON na XML

Zamień obiekt lub tablicę JSON na poprawny dokument XML z własną nazwą elementu głównego, wcięciami i deklaracją.

Bez konta
Bez instalacji
Bezpłatnie
Instrukcja
  • 1
    Wprowadź dane
    Wpisz treść, wklej tekst lub załaduj plik z dysku.
  • 2
    Kliknij przycisk
    Narzędzie natychmiast przetworzy Twoje dane w przeglądarce.
  • 3
    Pobierz wynik
    Skopiuj gotowy tekst lub zapisz plik na urządzeniu.
function runTool() {
  return "Wynik gotowy w 0.1s";
}
199 znaków · Ctrl+Enter konwertuje

Elementy XML

10

Łącznie z elementem głównym

Głębokość zagnieżdżenia

3 poziomy

Rozmiar XML

0,3 KB

283 B · o 42% większy niż JSON

Rozmiar JSON

0,2 KB

199 B

Linie dokumentu

13

XML

<?xml version="1.0"?> <root> <firstName>John</firstName> <lastName>Smith</lastName> <gender>man</gender> <age>30</age> <address> <streetAddress>150</streetAddress> <city>San Diego</city> <state>CA</state> <postalCode>263142</postalCode> </address> </root>

Jak JSON zamienia się w XML

Przykłady przekształceń (liczone tym samym kodem co wynik, układ: jedna linia, bez deklaracji)
JSON (wejście)XML (wynik)Co się dzieje
{"imie":"Jan"} <root><imie>Jan</imie></root> Para klucz–wartość staje się elementem, a całość trafia do elementu głównego.
{"osoba":{"imie":"Jan"}} <root><osoba><imie>Jan</imie></osoba></root> Obiekt w obiekcie to elementy zagnieżdżone — hierarchia zostaje zachowana.
{"tagi":["xml","json"]} <root><tagi>xml</tagi><tagi>json</tagi></root> XML nie ma tablic: każdy element tablicy to osobny element o tej samej nazwie.
{"cena":19.99,"brak":null,"ok":true} <root><cena>19.99</cena><brak/><ok>true</ok></root> Liczby i wartości logiczne trafiają do XML jako tekst, a null daje element pusty.
{"imie i nazwisko":"Jan K."} <root><imie_i_nazwisko>Jan K.</imie_i_nazwisko></root> Znaki niedozwolone w nazwie elementu (np. spacje) zamieniane są na „_”.
{"2konto":"x"} <root><_2konto>x</_2konto></root> Nazwa elementu nie może zaczynać się od cyfry — dodawane jest „_”.
[1,2] <root><item>1</item><item>2</item></root> Tablica na najwyższym poziomie dostaje elementy o nazwie „item” (nazwę zmienisz w opcjach).
{"@attributes":{"id":1}} <root><k_attributes><id>1</id></k_attributes></root> Konwerter nie tworzy atrybutów XML — klucz „@attributes” staje się zwykłym elementem k_attributes.

Typy danych giną

W XML wszystko jest tekstem: liczby, true/false i napisy wyglądają tak samo, a null daje pusty element, nieodróżnialny od pustego tekstu. Liczby z ułamkiem zapisujemy w najkrótszej dokładnej postaci (1.50 → 1.5), a duże liczby całkowite zachowują wszystkie cyfry. To system docelowy musi wiedzieć, że <cena> jest liczbą.

Nazwy elementów

Nazwa elementu zawiera litery, cyfry, „_”, „-” i „.”, a zaczyna się od litery lub „_”. Konwerter poprawia klucze sam (spacja → „_”, 2konto → _2konto), więc dwa różne klucze, np. „a b” i „a_b”, dadzą dwa elementy o tej samej nazwie. Jeśli system docelowy wymaga konkretnych nazw, nadaj je już w JSON-ie.

Tablice

XML nie ma tablic, więc tablica pod kluczem to powtórzone elementy o nazwie tego klucza. Tablica na najwyższym poziomie albo wewnątrz innej tablicy nie ma nazwy — dostaje ją z pola „Element tablicy”. Lista z jednym elementem wygląda potem jak zwykłe pole, a pusta tablica pod kluczem daje jeden pusty element.

Atrybuty i kodowanie

JSON nie ma atrybutów, więc cała zawartość trafia do elementów. Deklaracja standardowa to <?xml version="1.0"?> — dokument jest w UTF-8, bo to domyślne kodowanie XML. Wybierz „Z kodowaniem UTF-8”, jeśli system odbierający wymaga jawnego encoding, albo „Bez deklaracji”, gdy wklejasz fragment do większego pliku.

Oceń to narzędzie:

5,0 / 5 · 1 ocena

Powiązane narzędzia

Inne narzędzia, które mogą Ci się przydać

Podaj dalej

Komuś też się przyda?

Wyślij znajomemu link. Otworzy narzędzie od razu, bez konta i bez opłat.

JSON to XML – konwerter danych JSON na XML online

Konwerter JSON na XML zamienia obiekt {…} lub tablicę […] JSON na dokument XML: każdy klucz staje się elementem, zagnieżdżony obiekt – elementem zagnieżdżonym, a kolejne pozycje tablicy – powtórzonymi elementami o tej samej nazwie. Wklejasz dane z API lub pliku, a XML pojawia się od razu pod polem, gotowy do skopiowania albo pobrania jako plik .xml.

Konwersja na żywo podczas wpisywania
Błędy składni z numerem linii i kolumny
Bez instalacji

JSON i XML – dwa formaty, jeden konwerter

JSON (JavaScript Object Notation) to popularny, lekki format wymiany danych, używany przede wszystkim w aplikacjach webowych i mobilnych – szczególnie w API. XML (eXtensible Markup Language) to rozbudowany, uniwersalny format, szeroko stosowany w systemach korporacyjnych, integracjach B2B, systemach finansowych i medycznych.

W wielu projektach dane przychodzą jako JSON, ale docelowy system przyjmuje tylko XML. Wtedy konwerter przekłada struktury obiektów i tablic JSON na zagnieżdżone znaczniki XML i nie trzeba niczego przepisywać ręcznie.

Dlaczego warto korzystać z narzędzia JSON to XML?

1. Integracja z systemami wymagającymi XML

Wiele starszych lub specjalistycznych systemów ERP, CRM, księgowych czy logistycznych wciąż opiera integracje na XML. Narzędzie pozwala zamienić JSON z nowoczesnych API na XML akceptowany przez takie rozwiązania.

2. Import do aplikacji bez obsługi JSON

XML jest standardem w integracjach systemów, hurtowniach danych i middleware. Konwersja JSON → XML ułatwia import danych do narzędzi, które nie czytają JSON, ale radzą sobie z XML.

3. Przygotowanie danych do raportów

Część narzędzi raportowych i ETL przyjmuje XML jako format wejściowy. Dane z API zamienisz w plik gotowy do dalszego przetwarzania, np. transformacją XSLT.

4. Kopie zapasowe i archiwizacja

XML sprawdza się jako format archiwizacji – jest czytelny, strukturalny i łatwy do przetwarzania. Konwerter pozwala zapisać kopię danych JSON w postaci pliku XML.

Jak zamienić JSON na XML

Krok 1: Wklej dane JSON

Skopiuj dane JSON (np. z odpowiedzi API, pliku .json lub logów) i wklej je do pola „Dane JSON”. Na start możesz wczytać jeden z trzech przykładów: obiekt, listę produktów albo zestaw typów danych. Wejście może mieć do 1 MB.

Krok 2: Ustaw opcje

OpcjaCo robiDomyślnie
Element głównynazwa znacznika, który obejmuje cały dokumentroot
Element tablicynazwa pozycji tablicy bez własnego klucza: tablicy na najwyższym poziomie i tablicy w tablicyitem
Układ XMLczytelny z wcięciami albo jedna linia (mniejszy plik)czytelny
Deklaracja XMLstandardowa <?xml version="1.0"?>, z jawnym encoding="UTF-8" albo bez deklaracji, gdy wklejasz fragment do większego plikustandardowa

Krok 3: Sprawdź wynik i pobierz plik XML

XML odświeża się przy każdej zmianie danych lub opcji, a przycisk „Konwertuj na XML” (albo Ctrl+Enter) uruchamia konwersję jawnie. Nad wynikiem widać liczbę elementów (łącznie z głównym), głębokość zagnieżdżenia, rozmiar XML i JSON w KB oraz liczbę linii. Wynik skopiujesz przyciskiem „Kopiuj XML” lub zapiszesz przyciskiem „Pobierz plik .xml” jako dokument.xml.

Gdy JSON zawiera błąd, zamiast wyniku pojawia się komunikat z linią, kolumną i przyczyną, np. zbędny przecinek przed }, apostrofy zamiast cudzysłowów albo brak dwukropka po kluczu. Rozbudowany plik możesz wcześniej sprawdzić w walidatorze JSON.

Ważne: konwerter nie zmienia wartości danych, tylko sposób zapisu. Zmienić się mogą jedynie nazwy kluczy, które nie są poprawnymi nazwami elementów XML (szczegóły niżej).

Przykład konwersji JSON na XML krok po kroku

Wejście (przykład „lista”) to tablica dwóch produktów:

[{"id": 1, "nazwa": "Kawa ziarnista", "cena": 42.5, "dostepny": true}, {"id": 2, "nazwa": "Herbata zielona", "cena": 19.99, "dostepny": false}]

Po wpisaniu produkty jako elementu głównego, produkt jako elementu tablicy i wybraniu układu „Jedna linia” bez deklaracji wynik wygląda tak:

<produkty><produkt><id>1</id><nazwa>Kawa ziarnista</nazwa><cena>42.5</cena><dostepny>true</dostepny></produkt><produkt><id>2</id><nazwa>Herbata zielona</nazwa><cena>19.99</cena><dostepny>false</dostepny></produkt></produkty>

Dokument ma 11 elementów (1 główny + 2 elementy produkt + 2 × 4 pola) i 3 poziomy zagnieżdżenia. Tablica leży na najwyższym poziomie, więc nie ma klucza, z którego dałoby się wziąć nazwę – do tego służy pole „Element tablicy”. Gdyby te same dane były zapisane jako {"produkty": […]}, każdy produkt stałby się osobnym elementem produkty wewnątrz root.

Co konwersja zachowuje, a co zmienia

Wartości i kolejność pól przechodzą bez zmian, ale kilka konstrukcji JSON nie ma w XML bezpośredniego odpowiednika:

W JSONW XML
liczby 19.99 i 1.50tekst 19.99 i 1.5 – najkrótszy dokładny zapis, bez końcówek typu 19.989999999999998
duża liczba całkowita 12345678901234567890wszystkie cyfry zachowane
true, false, nulltekst true / false, a null to pusty element
pusta tablica "pusta_lista": []jeden pusty element <pusta_lista/>
tablica w tablicy "m": [[1, 2], [3]]<m><item>1</item><item>2</item></m><m><item>3</item></m>
tekst "Ala & Kot <3"Ala &amp; Kot &lt;3 – znaki specjalne zamieniane na encje
znaki sterujące niedozwolone w XML 1.0usuwane z tekstu

Klucze, które nie są poprawnymi nazwami elementów, konwerter poprawia sam: spacja i inne niedozwolone znaki zamieniają się w „_”, a przed cyfrą na początku dodawane jest „_” (2konto → _2konto). Pułapka: klucze „a b” i „a_b” dają wtedy ten sam element a_b. Jeśli system docelowy sprawdza XML schematem XSD, nadaj właściwe nazwy już w JSON. O typy musi zadbać odbiorca – z samego XML nie wynika, że <cena> jest liczbą, a pusty element może oznaczać zarówno null, jak i pusty tekst.

JSON vs XML – krótkie porównanie

  • JSON – dobrze pasuje do aplikacji webowych, API, front-endu i lekkich integracji.
  • XML – preferowany w systemach korporacyjnych, integracjach B2B i starszych systemach.
  • JSON ma typy danych (liczba, tekst, wartość logiczna, null) i tablice, których XML nie zna.
  • XML obsługuje atrybuty, schematy (XSD), przestrzenie nazw i rozbudowane walidacje.

Przykładowe zastosowania w różnych branżach

Finanse i księgowość

Systemy księgowe, fakturowe i bankowe często przyjmują dane w formacie XML. Transakcje, wyciągi czy kursy walut pobrane z API jako JSON zamienisz na pliki XML do importu.

Zarządzanie projektami i integracje

Dane o zadaniach, użytkownikach i harmonogramach są zwykle zwracane jako JSON. Konwersja na XML ułatwia przekazanie ich do systemów raportowania i wewnętrznych hurtowni danych.

Planowanie wydarzeń

Listy uczestników, sesji, sal i zasobów zebrane w JSON można przekształcić na XML do importu w systemach rejestracji, CRM lub systemach mailingowych.

Opieka zdrowotna

Część standardów medycznych (np. HL7 w odmianach XML) opiera się na XML. Konwerter pomaga zamienić dane z systemów zwracających JSON na postać, którą da się dalej dopasować do wymaganego schematu.

Ograniczenia konwertera

Wejście musi być obiektem lub tablicą – pojedyncza liczba, tekst, true, false czy null nie tworzy dokumentu XML. Limit to 1 MB danych JSON, 50 000 elementów w wyniku i 512 poziomów zagnieżdżenia. Konwerter nie tworzy atrybutów XML ani przestrzeni nazw: cała zawartość trafia do elementów.

Najczęściej zadawane pytania (FAQ)

Czy muszę znać XML, żeby korzystać z narzędzia?

Nie. Wystarczy poprawny JSON – konwerter sam zbuduje dokument XML z elementem głównym i zagnieżdżeniem odpowiadającym strukturze danych.

Jak przekonwertować JSON na XML z atrybutami?

To narzędzie nie tworzy atrybutów: każde pole JSON staje się elementem, a klucz @attributes zamienia się w zwykły element k_attributes. Jeśli odbiorca wymaga atrybutów, dodaj je po konwersji, np. transformacją XSLT.

Dlaczego pojawia się błąd „JSON musi być obiektem albo tablicą”?

Dokument XML potrzebuje elementu głównego z zawartością, więc sama liczba lub tekst nie zostaną przekonwertowane. Owiń wartość w obiekt, np. {"wartosc": 42}, co da <root><wartosc>42</wartosc></root>.

Czy mogę pobrać wynik jako plik XML?

Tak. Przycisk „Pobierz plik .xml” zapisuje wynik jako dokument.xml w kodowaniu UTF-8. Możesz też skopiować XML do schowka i wkleić go do edytora lub innego systemu.

Jak duży plik JSON można zamienić na XML?

Do 1 MB danych wejściowych, przy czym wynik może mieć najwyżej 50 000 elementów. Większy plik podziel na części, np. po kilka tysięcy rekordów tablicy.

Zainstaluj Webp.pl Miej narzędzia we własnej kieszeni!