Utilia

Konwerter JSON na XML

Konwertuj JSON na XML i XML na JSON w przeglądarce, z obsługą atrybutów, powtarzanych elementów i CDATA. Nic nie jest wysyłane na serwer.

Kierunek konwersji

Jak korzystać z konwertera JSON na XML

  1. Wybierz kierunek: JSON → XML lub XML → JSON.
  2. Wklej dane albo kliknij Otwórz plik, aby wczytać plik .json lub .xml (do 10 MB).
  3. Ustaw opcje: Wcięcie (2 spacje, 4 spacje, tabulator lub Brak (zwarty)) dla obu kierunków; Element główny i Dodaj deklarację XML dla JSON → XML; Konwertuj liczby i wartości logiczne dla XML → JSON.
  4. Kliknij Konwertuj. Wynik aktualizuje się też podczas pisania, a błędy pokazują wiersz i kolumnę, w których wykryto problem.
  5. Skopiuj lub pobierz wynik. Odwróć kierunek przenosi wynik z powrotem do pola wejściowego, abyś mógł sprawdzić konwersję w obie strony.

Jak JSON przekłada się na XML

XML i JSON mają różne modele danych, więc każdy konwerter stosuje jakąś konwencję. To narzędzie używa popularnej konwencji z biblioteki fast-xml-parser:

JSON XML
{"title": "Lalka"} <title>Lalka</title>
{"book": {"@id": "42"}} <book id="42"/>
{"p": {"@lang": "pl", "#text": "Cześć"}} <p lang="pl">Cześć</p>
{"tag": ["a", "b"]} <tag>a</tag><tag>b</tag>
  • Klucze zaczynające się od @ stają się atrybutami, a klucz #text przechowuje tekst elementu, który ma też atrybuty.
  • Tablica staje się powtarzanym elementem o tej samej nazwie.
  • Dokument XML musi mieć dokładnie jeden element główny. Jeśli twój JSON to obiekt z jednym kluczem, którego wartością jest obiekt, ten klucz staje się elementem głównym. W przeciwnym razie cała wartość jest opakowywana w element nazwany w polu Element główny (domyślnie root), a elementy tablicy najwyższego poziomu stają się elementami <item>.
  • Klucze, które nie są poprawnymi nazwami XML, są poprawiane: spacje i symbole zamieniają się w _, a nazwa zaczynająca się od cyfry dostaje na początku _ ("1st place" → <_1st_place>).
  • null i puste ciągi dają pusty element, np. <note/>. Znaki specjalne (&, <, >, cudzysłowy) są escapowane.

Jak XML przekłada się na JSON

  • Atrybuty stają się kluczami z prefiksem @, a tekst mieszany – kluczem #text.
  • Powtarzane elementy stają się tablicą; element występujący raz staje się pojedynczą wartością.
  • Sekcje CDATA są scalane z tekstem, a encje takie jak &amp; są dekodowane. Deklaracja XML, instrukcje przetwarzania i komentarze są pomijane.
  • Z opcją Konwertuj liczby i wartości logiczne <price>12.5</price> staje się liczbą 12.5, a true – wartością logiczną, natomiast wartości z zerem wiodącym, np. 007, pozostają ciągami znaków. Wyłącz tę opcję, aby zachować każdą wartość jako tekst.

Przed konwersją sprawdzana jest poprawność składniowa XML: brakujący znacznik zamykający, niedopasowany znacznik czy nieescapowany & są zgłaszane z wierszem i kolumną.

Najczęściej zadawane pytania

Czy moje dane są wysyłane na serwer?

Nie. Konwersja odbywa się w całości w twojej przeglądarce. Twoje kanały XML, komunikaty SOAP i pliki konfiguracyjne zostają na twoim komputerze.

Dlaczego element w jednym pliku staje się tablicą, a w innym obiektem?

XML nie określa, czy element jest listą. Gdy <tag> występuje dwa razy, staje się tablicą; gdy raz – pojedynczą wartością. Jeśli twój kod oczekuje tablicy, obsłuż oba przypadki albo podczas testów dodaj drugi element.

Dlaczego konwersja w obie strony nie zawsze daje identyczny wynik?

Niektóre informacje nie mają odpowiednika po drugiej stronie: komentarze, kolejność treści mieszanej czy różnica między tablicą z jednym elementem a pojedynczą wartością. Dla typowych dokumentów z danymi konwersja JSON → XML → JSON zwraca tę samą strukturę.

Czy mogę używać przestrzeni nazw?

Tak. Nazwy z prefiksem, np. soap:Envelope, i atrybuty takie jak @xmlns:soap są zachowywane bez zmian w obu kierunkach.

Czy narzędzie waliduje XML względem schematu XSD?

Nie. Sprawdza, czy XML jest poprawnie sformułowany, ale nie waliduje go względem DTD ani schematu XSD.