UltKit

Konwerter JSON do XML

Przekaż dane JSON programom, które obsługują tylko XML. Każdy rekord staje się elementem, każdy klucz znacznikiem podrzędnym, a cały dokument trafia do jednego elementu głównego o wybranej przez Ciebie nazwie.

Konwerter danych

lub upuść Pliki CSV, TSV, TXT … tutaj ·

Maks. 95 MB na plik· Do 20 plików· Usuwane po 30 min

Plik wynikowy

Pliki są przetwarzane na naszych serwerach i usuwane po 30 min.

Jak korzystać z narzędzia

  1. 1

    Prześlij plik JSON

    Dodaj plik .json, na przykład odpowiedź API, lub plik JSON Lines. Do 20 plików, każdy do 95 MB.

  2. 2

    Nazwij element główny

    W sekcji Ustawienia zaawansowane wpisz zewnętrzny znacznik w polu Główny znacznik XML (domyślnie rows) i zostaw włączone Czytelne formatowanie, aby wynik miał wcięcia.

  3. 3

    Konwertuj i zmapuj

    Kliknij Konwertuj na XML i pobierz plik. Zmień nazwy znaczników tam, gdzie schemat systemu docelowego wymaga innych nazw.

Po co konwertować JSON do XML, skoro większość API przeszła na JSON

JSON zdobył świat API webowych; jego obecna specyfikacja, RFC 8259 z 2017 roku, mieści się na kilku stronach. XML jest starszy, od lutego 1998 roku ma status rekomendacji W3C i nigdy nie opuścił miejsc, w których obowiązują ścisłe kontrakty: bankowości, e-fakturowania, wydawnictw i raportowania dla administracji.

Dlatego kierunek tej konwersji zwykle wynika z pieniędzy lub przepisów. Programista pobiera zamówienia z API JSON i musi wysłać je do usługi SOAP partnera. Sklep trzyma produkty w JSON, ale porównywarka chce pliku XML. Zespół przechowuje tłumaczenia jako JSON, a build na Androida oczekuje strings.xml. Gdy celem jest arkusz kalkulacyjny, JSON na CSV da wiersze zamiast elementów.

Systemy, które nadal wymagają danych w XML

Gdzie przydaje się konwerter JSON do XML
OrganizacjaWymaganieŹródło
Usługi webowe SOAPKażde żądanie jest przesyłane jako koperta XML; SOAP 1.2 został rekomendacją W3C w 2003 roku—
Google Merchant CenterPliki produktowe akceptowane jako XML w RSS 2.0 lub Atom 1.0, a także jako tekst z separatorami—
E-fakturowanie PeppolFaktury wymieniane jako dokumenty XML UBL 2.1 według zasad Peppol BIS Billing 3.0—
Aplikacje na AndroidaZasoby tekstowe i tłumaczenia znajdują się w res/values/strings.xml—

Przykład konwersji JSON do XML: dwa produkty

XML utworzony z [{"sku":"A-17","price":12.5,"tags":["new","sale"]}, {"sku":"B-02","price":8}]
<?xml version="1.0" encoding="UTF-8"?>
<rows>
  <row>
    <sku>A-17</sku>
    <price>12.5</price>
    <tags>nowość</tags>
    <tags>promocja</tags>
  </row>
  <row>
    <sku>B-02</sku>
    <price>8</price>
  </row>
</rows>

MitJSON i XML odpowiadają sobie jeden do jednego, więc konwersja jest dokładna.

FaktXML ma atrybuty, treść mieszaną i przestrzenie nazw, których brakuje w JSON, a JSON ma typy, których brakuje w XML. Konwerter musi wybrać jedno odwzorowanie; to używa wszędzie elementów potomnych.

MitLiczba 12.5 pozostaje w XML liczbą.

FaktXML przechowuje znaki. 12.5 jest tekstem, dopóki schemat lub program odczytujący nie uzna, że to liczba dziesiętna.

Co się zmienia, gdy JSON staje się XML

Warto sprawdzić trzy rzeczy. Typy spłaszczają się do tekstu, więc true, null i 0 trafiają jako znaki; null zwykle staje się pustym elementem. Klucze, które nie są poprawnymi nazwami XML, trzeba zmienić, ponieważ znacznik nie może zaczynać się od cyfry ani zawierać spacji. Wynik jest też większy, bo każda wartość jest otoczona znacznikiem otwierającym i zamykającym, które powtarzają klucz.

Nic więcej nie ginie. Zagnieżdżenie zostaje jako zagnieżdżone elementy, kolejność rekordów jest zachowana, a tekst Unicode pozostaje nienaruszony, bo plik jest zapisywany w UTF-8. Więcej opcji dla danych strukturalnych, od YAML po SQL, znajdziesz na stronie konwertera danych.

Fakty o formatach JSON i XML

JSON

JavaScript Object Notation

JSON to lekki format tekstowy do danych strukturalnych, spopularyzowany przez Douglasa Crockforda na początku lat 2000 i ustandaryzowany jako RFC 8259 oraz ECMA-404. Reprezentuje obiekty, tablice, ciągi znaków, liczby, wartości logiczne i null za pomocą prostej, czytelnej składni. Jest domyślnym formatem API internetowych, plików konfiguracyjnych i wymiany danych między aplikacjami w niemal każdym języku programowania. Nie ma wbudowanych komentarzy, dat ani schematów, a duże zagnieżdżone pliki trudno czytać bez przeglądarki JSON.

Kompresja
–
Przezroczystość
–
Animacja
–
Rok powstania
2001 · Douglas Crockford
Konwerter JSON

XML

Extensible Markup Language

XML to język znaczników do danych strukturalnych, opublikowany przez W3C w 1998 roku. Używa zagnieżdżonych znaczników z atrybutami i obsługuje schematy, przestrzenie nazw oraz walidację, dzięki czemu dobrze sprawdza się w złożonych dokumentach. Stanowi podstawę kanałów RSS, SVG, dokumentów Office, map witryn i wielu korporacyjnych oraz rządowych wymian danych. XML jest rozwlekły w porównaniu z JSON, ale odczyta go każdy język programowania i wiele narzędzi do arkuszy.

Kompresja
–
Przezroczystość
–
Animacja
–
Rok powstania
1998 · W3C
Konwerter XML

JSON konwertuje się na XML, gdy nowoczesne dane muszą trafić do starszego kontraktu: punktu końcowego SOAP, pliku produktowego, sieci e-fakturowania lub pliku konfiguracyjnego, którego odbiorca został napisany do analizowania elementów, a nie nawiasów klamrowych.

Konwerter JSON do XML — najczęstsze pytania

Dlaczego XML wymaga jednego elementu głównego, skoro mój JSON zaczyna się od tablicy?

Specyfikacja XML 1.0 wymaga, aby każdy poprawnie zbudowany dokument miał dokładnie jeden element zawierający wszystkie pozostałe. Tablica JSON nie ma takiego opakowania, więc konwerter dodaje je, nadając mu nazwę z pola Główny znacznik XML, i umieszcza w nim każdy element tablicy jako <row>.

Co się dzieje z kluczami JSON takimi jak „2024 total” czy „unit price”?

Żadne z nich nie jest poprawną nazwą elementu XML: nazwy nie mogą zaczynać się od cyfry ani zawierać spacji. Zmień takie klucze w JSON przed konwersją, najlepiej na dokładne nazwy znaczników ze schematu systemu docelowego, aby wynik nie wymagał późniejszych poprawek.

Jak tablica JSON wewnątrz rekordu jest zapisywana w XML?

Jako ten sam element powtórzony dla każdej pozycji. Tablica tags z trzema ciągami znaków staje się trzema kolejnymi elementami <tags>. Pusta tablica nie zostawia po sobie niczego, co jest jednym z nielicznych miejsc, w których konwersja JSON na XML traci informacje.

Czy plik XML przejdzie walidację XSD mojego partnera?

Tylko jeśli struktura już się zgadza. Konwerter zapisuje wierną, poprawnie zbudowaną kopię Twojego JSON; nie może znać wymaganej przez partnera kolejności elementów, przestrzeni nazw ani atrybutów. Potraktuj wynik jako punkt wyjścia i dostosuj go do schematu.

Czy mogę przekonwertować XML z powrotem do JSON?

Użyj narzędzia XML na JSON. Przy konwersji w obie strony spodziewaj się drobnych różnic: XML zapisuje każdą wartość jako tekst, więc liczba lub true, które były w JSON, mogą wrócić jako ciąg znaków.