Konwerter XML na JSON
Wklej kod XML, a JSON pojawi się od razu: z atrybutami, tablicami dla powtórzeń i wyborem wcięcia. Wynik skopiujesz lub pobierzesz.
-
1Wprowadź dane
Wpisz treść, wklej tekst lub załaduj plik z dysku. -
2Kliknij przycisk
Narzędzie natychmiast przetworzy Twoje dane w przeglądarce. -
3Pobierz wynik
Skopiuj gotowy tekst lub zapisz plik na urządzeniu.
return "Wynik gotowy w 0.1s";
}
Elementy XML
Łącznie z elementem głównym
Atrybuty XML
W JSON trafiają pod klucz „@attributes”
Głębokość (poziomy)
Rozmiar XML
279 bajtów
Rozmiar JSON
224 bajtów
JSON względem XML
JSON jest mniejszy od XML
Wynik: JSON
Jak XML zamienia się w JSON
| W XML | W JSON (układ Pełny) | Co to znaczy |
|---|---|---|
| <imie>Jan</imie> | "imie": "Jan" | Tekst elementu to napis w cudzysłowie (chyba że włączysz typowanie liczb). |
| <t>1</t><t>2</t> | "t": ["1", "2"] | Elementy o tej samej nazwie tworzą tablicę. Pojedynczy <t> da zwykłą wartość, nie tablicę. |
| <c id="7">x</c> | "c": {"@attributes": {"id": "7"}, "#text": "x"} | Atrybuty trafiają pod „@attributes”, a tekst obok nich pod „#text”. |
| <p/> | "p": null | Pusty element bez atrybutów to null. |
| <dc:creator>Jan</dc:creator> | "dc:creator": "Jan" | Prefiks przestrzeni nazw zostaje w nazwie klucza. |
| <![CDATA[a < b]]> | "a < b" | Sekcja CDATA staje się zwykłym tekstem. |
| <!-- uwaga --> | (brak) | Komentarze, deklaracja XML i DOCTYPE nie mają odpowiednika w JSON. |
Układ standardowy to wynik funkcji json_encode() z PHP. Nie używa klucza „#text”, więc gdy element ma atrybuty i tekst, sprawdź wynik albo wybierz układ Pełny.
Liczby w cudzysłowie
W XML każda wartość jest tekstem, dlatego „30” zostaje napisem. Opcja „Zamień liczby i true/false na typy JSON” zamienia takie teksty na liczby i wartości logiczne. Kody z zerem na początku (007) i zapisy typu 1.50 zostają tekstem, żeby nie zgubić zer.
Jeden element czy tablica
Element, który występuje raz, jest w JSON zwykłą wartością. Dopiero od dwóch powtórzeń powstaje tablica. Kod odbierający dane musi obsłużyć oba przypadki, np. opakować pojedynczą wartość w tablicę.
Czego JSON nie przeniesie
Komentarze, deklaracja XML i DOCTYPE nie trafiają do wyniku. Elementy o tej samej nazwie są grupowane, więc kolejność wymieszanych elementów (a, b, a) nie jest zachowana. Nazwa elementu głównego nie jest zapisana w JSON.
Prywatność
Kod jest przetwarzany na serwerze tylko na czas żądania. Do historii użycia trafia wyłącznie tryb pracy i liczba elementów, nigdy treść. Narzędzie nie pobiera zewnętrznych DTD ani encji z sieci. Nie wklejaj haseł i kluczy z plików konfiguracyjnych, jeśli nie musisz.
Oceń to narzędzie:
Powiązane narzędzia
Inne narzędzia, które mogą Ci się przydaćKonwerter XML na JSON online
Konwerter XML na JSON zamienia wklejony kod XML na JSON na bieżąco, w trakcie wpisywania. Elementy stają się kluczami obiektu, powtórzone elementy tworzą tablice, a atrybuty trafiają pod klucz „@attributes”. Wynik skopiujesz do schowka albo pobierzesz jako plik .json.
XML to JSON – prosty sposób na konwersję danych
XML (eXtensible Markup Language) od lat jest standardowym formatem wymiany danych w systemach biznesowych, integracjach i usługach sieciowych: w ten sposób zapisuje się kanały RSS, odpowiedzi SOAP, pliki JPK czy eksporty z systemów ERP. Współczesne aplikacje webowe i API dużo chętniej pracują jednak z JSON (JavaScript Object Notation), który jest lżejszy i łatwiejszy do przetwarzania w JavaScript, Pythonie, PHP i wielu innych językach.
Obok wyniku narzędzie pokazuje statystyki dokumentu: liczbę elementów (łącznie z głównym), liczbę atrybutów, głębokość zagnieżdżenia, rozmiar XML i JSON w KB oraz to, o ile procent JSON jest mniejszy lub większy od źródła. Przy błędzie składni zamiast wyniku dostajesz komunikat z numerem linii i kolumny, np. że znacznik otwarty jako <pozycja> zamknięto jako </pozycje> albo że znak & w treści trzeba zapisać jako &.
Opcje konwersji
- Układ JSON. Standardowy to dokładnie wynik funkcji json_encode() z PHP dla dokumentu SimpleXML. Pełny zapisuje tekst stojący obok atrybutów pod kluczem „#text”, pusty element jako null i zachowuje elementy z prefiksem przestrzeni nazw, np. „dc:creator” z kanału RSS.
- Wcięcie: 4 spacje (domyślnie), 2 spacje, tabulator albo minifikacja do jednej linii, przydatna, gdy JSON ma trafić do treści żądania API.
- Typy wartości. Po zaznaczeniu „Zamień liczby i true/false na typy JSON” tekst „30” staje się liczbą 30, „2.5” liczbą 2.5, a „true” i „false” wartościami logicznymi. Kody z zerem na początku (007) i zapisy z końcowym zerem (1.50) zostają tekstem, żeby nie zgubić cyfr.
Jak korzystać z konwertera XML to JSON
- Wklej dane XML
Skopiuj zawartość pliku XML lub odpowiedź z API i wklej ją do pola „Kod XML” skrótem Ctrl+V albo przyciskiem „Wklej ze schowka”. Na próbę możesz wczytać jeden z trzech przykładów: osobę, zamówienie z atrybutami lub kanał RSS. - Ustaw opcje
Wybierz układ, wcięcie i typowanie liczb. JSON przelicza się po każdej zmianie, a przycisk „Konwertuj na JSON” zatwierdza konwersję. - Skopiuj lub pobierz JSON
Gotowy wynik skopiujesz do schowka albo zapiszesz jako plik konwersja.json i wkleisz do edytora kodu, systemu integracyjnego lub narzędzia do testowania API.
Limit wklejanego kodu to 2 MB.
Przykład: XML na JSON w praktyce
Fragment XML:
<user><id>123</id><name>Jan Kowalski</name><roles><role>admin</role><role>editor</role></roles></user>
Wynik w układzie standardowym, z minifikacją:
{"id":"123","name":"Jan Kowalski","roles":{"role":["admin","editor"]}}
Przy pierwszej konwersji zaskakują zwykle trzy rzeczy. Nazwa elementu głównego (user) nie trafia do JSON. Wartość „123” jest napisem, dopóki nie włączysz typowania liczb – wtedy dostajesz "id":123. Dwa elementy role tworzą tablicę wewnątrz obiektu roles, a nie płaską listę. Gdyby rola była tylko jedna, wynik miałby postać "roles":{"role":"admin"}, bez tablicy.
Układ standardowy a pełny
Różnice widać dopiero przy atrybutach, pustych elementach i przestrzeniach nazw. Dla prostych danych, jak w przykładzie wyżej, oba układy dają ten sam JSON.
| W XML | Układ standardowy | Układ pełny |
|---|---|---|
| Atrybuty, np. id="7" | pod „@attributes” | pod „@attributes” |
| Tekst w elemencie z atrybutami | brak klucza „#text”, tekst może zniknąć z wyniku | pod „#text” |
| Pusty element <uwagi/> | pusty obiekt {} | null |
| Element z prefiksem, np. dc:creator | pomijany | klucz „dc:creator” |
| Powtórzony element | tablica | tablica |
| Sekcja CDATA | zwykły tekst | zwykły tekst |
| Komentarze, deklaracja XML, DOCTYPE | pomijane | pomijane |
Jeśli konwertujesz zamówienia, faktury lub kanały RSS, w których dane siedzą jednocześnie w atrybutach i w tekście, wybierz układ pełny.
Przykładowe zastosowania konwertera XML na JSON
Integracja z aplikacjami webowymi
Wiele starszych systemów nadal zwraca dane w XML. Jeśli tworzysz frontend w React, Vue lub Angular, dużo wygodniej jest pracować na JSON. Konwerter XML to JSON pozwoli Ci szybko zamienić odpowiedzi testowe lub wyeksportowane pliki na JSON, aby budować i testować logikę interfejsu użytkownika.
Raportowanie i analityka
Dane z systemów finansowych, ERP lub systemów raportowych często są eksportowane w XML. Po przekształceniu na JSON łatwiej wczytać je do narzędzi analitycznych, skryptów Python, notebooków Jupyter lub baz dokumentowych takich jak MongoDB.
Współdzielenie danych w zespole
Nie każdy w zespole swobodnie porusza się w XML. JSON jest czytelniejszy dla programistów webowych i osób nietechnicznych. Konwerter XML na JSON pozwala szybko przygotować wersję danych, którą łatwo przeczytać, skomentować i zaimportować do różnych narzędzi.
Import do baz danych
Coraz więcej nowoczesnych baz danych, szczególnie dokumentowych, i usług chmurowych preferuje format JSON. Dzięki konwersji XML to JSON możesz przenosić dane między starszymi systemami a nowymi rozwiązaniami i środowiskami chmurowymi.
XML i JSON – krótkie porównanie
XML i JSON rozwiązują ten sam problem – służą do uporządkowanego opisu danych, ale robią to w inny sposób. Z tych różnic wynika większość niespodzianek przy konwersji.
| Cechy | XML | JSON |
|---|---|---|
| Składnia | Znaczniki otwierające i zamykające, atrybuty | Obiekty klucz-wartość, tablice, prosty zapis |
| Typy danych | Bez schematu każda wartość jest tekstem | Napis, liczba, true/false, null, tablica, obiekt |
| Czytelność dla człowieka | Więcej znaków, bywa bardziej rozbudowany | Zwykle krótszy i szybciej zrozumiały |
| Popularność w API | Częściej w starszych systemach i usługach SOAP | Standard w nowoczesnych API REST i aplikacjach SPA |
| Obsługa struktur złożonych | Rozbudowane metadane, przestrzenie nazw, atrybuty, komentarze | Naturalnie opisuje obiekty i listy, nie ma atrybutów ani komentarzy |
W praktyce często spotkasz się z sytuacją, w której źródło danych jest w XML, a docelowy system, biblioteka lub aplikacja wymaga JSON. Konwerter oszczędza wtedy pisania jednorazowego skryptu transformującego.
Typowe pułapki przy konwersji XML to JSON
- Jeden element czy tablica: element występujący raz jest zwykłą wartością, tablica powstaje dopiero od dwóch powtórzeń. Kod odbierający dane musi obsłużyć oba przypadki, np. opakować pojedynczą wartość w tablicę.
- Liczby jako tekst: bez typowania „30” zostaje napisem. Po włączeniu opcji kod pocztowy 31-147 nadal będzie tekstem, ale numer 123 już liczbą, więc sprawdź pola, które mają pozostać napisami.
- Kolejność elementów: elementy o tej samej nazwie są grupowane, więc sekwencja a, b, a nie zostaje zachowana. Dokumentów, w których kolejność niesie znaczenie, nie odtworzysz z takiego JSON-a.
- Encje HTML: nie istnieje w XML i kończy się błędem. Działają tylko &, <, >, ", ' i kody liczbowe, np.  .
- Jeden element główny: dwa sąsiadujące elementy bez wspólnego rodzica to niepoprawny XML. Otocz całość jednym znacznikiem.
FAQ – najczęstsze pytania o konwerter XML na JSON
Czy konwerter XML na JSON wymaga instalacji programu?
Nie. Narzędzie działa w przeglądarce, a samą konwersję wykonuje serwer, więc nie potrzebujesz u siebie PHP, Pythona ani żadnej biblioteki.
Jak duży plik XML można przekonwertować?
Do 2 MB wklejonego kodu. Większy plik podziel na części albo przekonwertuj lokalnie skryptem, np. biblioteką xmltodict w Pythonie.
Czy narzędzie zachowuje atrybuty XML w JSON?
Tak, atrybuty trafiają pod klucz „@attributes”. Gdy element ma jednocześnie atrybuty i tekst, wybierz układ pełny – tekst znajdzie się wtedy pod kluczem „#text”.
Dlaczego liczby w wyniku są w cudzysłowie?
XML nie rozróżnia typów, więc każda wartość jest tekstem. Zaznacz „Zamień liczby i true/false na typy JSON”, a jednoznaczne liczby i wartości logiczne zostaną zapisane bez cudzysłowu.
Czy moje dane są bezpieczne?
Kod jest przetwarzany na serwerze tylko na czas żądania, a do historii użycia trafia wyłącznie tryb pracy i liczba elementów, nigdy treść. Narzędzie nie pobiera zewnętrznych DTD ani encji z sieci. Mimo to nie wklejaj haseł i kluczy API, jeśli nie musisz.
Jak zamienić JSON z powrotem na XML?
Użyj konwertera JSON na XML. Pamiętaj, że po drodze giną nazwa elementu głównego, komentarze i kolejność wymieszanych elementów, więc XML po dwóch konwersjach nie będzie identyczny z oryginałem.