Zamień JSON na XML albo XML na JSON: atrybuty z @, tablice jako powtórzone elementy, liczby bez zaokrągleń i błąd składni wskazany z numerem linii i kolumny.
Konwerter JSON na XML - Atrybuty, Tablice, Encje
Zamień JSON na XML albo XML na JSON: atrybuty z @, tablice jako powtórzone elementy, liczby bez zaokrągleń i błąd składni wskazany z numerem linii i kolumny.
Parametry
Wprowadź dane do obliczeń
💡 Wypełnij wszystkie wymagane pola, aby odblokować przycisk obliczania
Konwerter JSON na XML i XML na JSON z kontrolą błędów
Dla JSON i XML nie istnieje jedno oficjalne mapowanie, dlatego każdy konwerter musi przyjąć jakąś konwencję i dobrze, żeby mówił ją wprost. Ten zamienia JSON na XML i z powrotem według prostych reguł: klucz z @ staje się atrybutem, tablica powtórzonym elementem, a liczba przechodzi cyfra w cyfrę, więc 98765432109876543210 nie zamieni się po drodze w 98765432109876540000. Błąd składni wskazuje z numerem linii i kolumny, np. {"a":1,} daje komunikat o przecinku w linii 1, kolumnie 7.
null i dowolne klucze. Konwerter, który tego nie pokazuje, oddaje XML, którego parser po drugiej stronie nie przyjmie, albo JSON, w którym jedna pozycja na liście jest tekstem, a dwie już tablicą.
Co dokładnie robi ten konwerter
2etap staje się _2etap, a data dostawy zamienia się w data_dostawy. Każda taka zmiana jest wypisana pod wynikiem, bo w drugą stronę oryginalna nazwa już nie wróci.1.50 zostaje 1.50, 1E-7 zostaje 1E-7, a długi identyfikator nie traci końcowych cyfr. Przy XML na JSON kod 0042 zostaje tekstem, bo zero na początku nie jest dozwolone w liczbie JSON.Jak przekonwertować JSON na XML - krok po kroku
- Kierunek - „JSON na XML” albo „XML na JSON”. Od wyboru zależy, które pola zobaczysz niżej.
- Dane - wklej JSON albo XML, do 20 000 znaków.
- Element główny (JSON na XML) - zostaw puste, a jedyny klucz na górze JSON stanie się elementem głównym; przy kilku kluczach powstanie
<root>. Możesz też wpisać własną nazwę, np.dane. - Klucze z @ i #text (JSON na XML) - jako atrybuty i tekst elementu albo jako zwykłe elementy.
- Typy wartości (XML na JSON) - automatycznie (liczby, true, false, puste jako null) albo wszystko jako tekst.
- Wcięcie - 2 albo 4 spacje, tabulator albo zapis w jednej linii; przy XML jeszcze deklaracja
<?xml version="1.0" encoding="UTF-8"?>na początku. - Odczytaj wynik - kliknij w kod, zaznaczy się cały. Pod spodem są liczby elementów i atrybutów oraz lista zmian.
Tabela decyzyjna: jak zapisze się każdy fragment JSON
Wiersze pokazują wynik konwertera dla typowych konstrukcji, w zapisie w jednej linii. Ostatnia kolumna mówi, na co uważać przy konwersji z powrotem.
| JSON | XML | Uwaga |
|---|---|---|
{"id":1,"nazwa":"Test"} | <root><id>1</id><nazwa>Test</nazwa></root> | Dwa klucze na górze, więc potrzebny element główny |
{"x":{"a":null,"b":""}} | <x><a/><b></b></x> | null i pusty tekst zapisane różnie |
[1,2] | <root><item>1</item><item>2</item></root> | Tablica na górze: elementy item |
{"r":[[1,2]]} | <root><r><item>1</item><item>2</item></r></root> | Tablica w tablicy dostaje opakowanie |
{"t":{"@typ":"uwaga","#text":"Cena < 100 zł & darmowa dostawa"}} | <t typ="uwaga">Cena < 100 zł & darmowa dostawa</t> | Znaki < i & zamienione na encje |
{"dane":{"data dostawy":"pilne","2etap":true}} | <dane><data_dostawy>pilne</data_dostawy><_2etap>true</_2etap></dane> | Nazwy poprawione, nie wrócą do oryginału |
{"r":{"a:b":1}} | <r><a_b>1</a_b></r> | Prefiks bez deklaracji @xmlns:a zamieniony |
{"nr":98765432109876543210} | <nr>98765432109876543210</nr> | Liczba bez zaokrąglenia |
Pięć konwersji z prawdziwymi danymi
{"zamowienie":{"@numer":"2481","klient":"Firma ABC","pozycja":[{"nazwa":"Papier A4","ilosc":5},{"nazwa":"Toner","ilosc":1}]}}Wynik: element
<zamowienie numer="2481"> z dwoma elementami <pozycja>, razem 8 elementów i 1 atrybut. Tablica pozycja nie tworzy opakowania, każdy jej element to osobny <pozycja>.
<produkt id="17" dostepny="true"><nazwa>Kubek</nazwa><cena waluta="PLN">24.90</cena><kod>0042</kod></produkt>Wynik:
"@id": 17, "@dostepny": true, "cena": {"@waluta": "PLN", "#text": 24.90}, "kod": "0042". Łącznie 4 elementy i 3 atrybuty, cena zachowuje zapis 24.90.
<lista><e>a</e></lista> daje {"lista":{"e":"a"}}, a <lista><e>a</e><e>b</e></lista> daje {"lista":{"e":["a","b"]}}.Wynik: ten sam element raz jest tekstem, raz tablicą. Kod, który czyta taki JSON, musi obsłużyć oba przypadki, bo sam XML nie mówi, że
e jest listą.
{"a":1,}Wynik: brak konwersji i komunikat „Błąd w JSON (linia 1, kolumna 7): Przecinek przed nawiasem „}””, czyli wskazany jest sam przecinek. JavaScript przyjmuje taki zapis w kodzie jako literał obiektu, ale
JSON.parse i standard JSON już nie.
<a><b>tekst</a>Wynik: „Błąd w XML (linia 1, kolumna 12): Znacznik zamykający </a> nie pasuje do otwartego <b> (otwarty: linia 1, kolumna 4)”. Konwerter wskazuje oba miejsca, więc od razu widać, którego zamknięcia brakuje.
Szybka ściągawka: znaki specjalne w XML
Specyfikacja XML 1.0 (sekcja 2.4) zabrania dosłownych znaków & i < w tekście. Konwerter zamienia je sam; tabela przydaje się, gdy poprawiasz XML ręcznie.
| Znak | W tekście elementu | W wartości atrybutu |
|---|---|---|
| & | & (obowiązkowo) | & (obowiązkowo) |
| < | < (obowiązkowo) | < (obowiązkowo) |
| > | > (wymagane w ciągu ]]>) | dowolnie |
| " | bez zmian | ", gdy atrybut jest w "..." |
| nowa linia, tabulator | bez zmian | , 	 (dosłowne parser zamienia na spacje) |
| i inne encje HTML | nieznane w XML bez DTD, użyj odwołania liczbowego, np.   | |
Pytania o konwersję JSON i XML
Powiązane narzędzia
Generator Danych Testowych
Fikcyjne osoby z PESEL, NIP, REGON i IBAN o poprawnych sumach kontrolnych, w JSON, CSV albo SQL - Zobacz generator
Formatowanie JSON
Wcięcia, minifikacja i walidacja JSON z numerem linii, kolumny i fragmentem w miejscu błędu - Zobacz generator
Kodowanie Base64
Gdy XML albo JSON trzeba przesłać w polu tekstowym albo w adresie data: - Zobacz generator
Generator SHA-256
Suma kontrolna dokumentu przed wysłaniem i po odebraniu - Zobacz generator
Generator MD5
Szybkie porównanie, czy dwa pliki są identyczne - Zobacz generator
Generator UUID/GUID
Identyfikatory rekordów do danych przykładowych - Zobacz generator
Generator Slugów URL
Nazwa bez spacji i polskich znaków, także do kluczy - Zobacz generator
Generator zweryfikowany przez zespół LiczGrupa.pl
Treść, wzory i wyniki zostały sprawdzone pod kątem poprawności i aktualności przez nasz zespół specjalistów.

Sprawdził: Krystian Szyszka