Konwerter TOML na JSON
Konwertuj TOML na JSON i JSON na TOML w przeglądarce. Obsługuje tabele, tablice tabel, daty i 64-bitowe liczby całkowite. Nic nie jest przesyłane.
Jak przekonwertować TOML na JSON
- Wybierz kierunek: TOML → JSON (domyślnie) lub JSON → TOML.
- Wklej dane albo kliknij Otwórz plik, aby wczytać plik
.tomllub.json(do 10 MB). - Przy TOML → JSON wybierz Wcięcie (2 lub 4 spacje) i zdecyduj, czy zaznaczyć Duże liczby całkowite jako tekst. Przy JSON → TOML zostaw lub odznacz Pomiń wartości null.
- Zaznacz Sortuj klucze, jeśli każda tabela ma być uporządkowana alfabetycznie.
- Wynik aktualizuje się podczas pisania; Konwertuj uruchamia konwersję ponownie na żądanie. Błędy pokazują linię i kolumnę problemu.
- Skopiuj lub pobierz wynik. Odwróć kierunek przenosi wynik do pola wejściowego, aby przekonwertować go z powrotem.
TOML i JSON obok siebie
TOML (Tom’s Obvious Minimal Language) to format konfiguracji stojący za Cargo.toml w Rust, pyproject.toml w Pythonie, stronami Hugo i Netlify oraz wieloma narzędziami wiersza poleceń. Został zaprojektowany tak, aby ludzie mogli go łatwo czytać i edytować, i bezpośrednio odwzorowuje się na drzewo tabel (obiektów), tablic i wartości podobne do JSON.
[package]
name = "demo"
version = "0.1.0"
[[bin]]
name = "cli"
staje się
{"package": {"name": "demo", "version": "0.1.0"}, "bin": [{"name": "cli"}]}
- Nagłówek
[table]staje się obiektem JSON, a klucze z kropkami, np.a.b.c = 1, stają się zagnieżdżonymi obiektami. - Tablica tabel
[[bin]]staje się tablicą obiektów JSON. - Tabele w linii
{ x = 1 }i tablice działają zgodnie z oczekiwaniami. Komentarze są pomijane, bo JSON ich nie ma.
Czym różnią się oba formaty
Daty i godziny. TOML ma cztery natywne typy daty i czasu, JSON – żadnego. Konwerter zapisuje je jako teksty ISO 8601 i zachowuje ich rodzaj: data i godzina z przesunięciem zostaje 1979-05-27T07:32:00.000-08:00, data lokalna – 1979-05-27, a godzina lokalna – 07:32:00.000. Ułamki sekund są zachowywane z dokładnością do milisekundy. Konwersja z powrotem do TOML daje zwykłe teksty, bo w JSON nic nie oznacza ich jako dat.
Liczby całkowite. Liczby całkowite w TOML są 64-bitowe ze znakiem, od −9 223 372 036 854 775 808 do 9 223 372 036 854 775 807. Liczby w JavaScripcie, używane przez większość parserów JSON, są dokładne tylko do 2^53 (9 007 199 254 740 991). Większe liczby z TOML są zapisywane ze wszystkimi cyframi, co jest poprawnym JSON, ale program, który odczyta je jako liczby zmiennoprzecinkowe, je zaokrągli; zaznacz Duże liczby całkowite jako tekst, aby tego uniknąć. Liczba spoza zakresu 64 bitów jest odrzucana, zgodnie ze specyfikacją TOML.
Specjalne wartości zmiennoprzecinkowe. inf, -inf i nan nie mają odpowiednika w JSON, więc są zapisywane jako teksty "inf", "-inf" i "nan".
JSON → TOML. Dokument TOML jest zawsze tabelą, więc JSON musi mieć na najwyższym poziomie obiekt. TOML nie ma null: domyślnie wartości null są pomijane, a komunikat podaje ich liczbę; odznacz Pomiń wartości null, aby zamiast tego dostać błąd z lokalizacją pierwszej z nich. JSON nie odróżnia 1 od 1.0, więc liczby całkowite stają się liczbami całkowitymi TOML, a liczby zbyt duże dla 64 bitów – zmiennoprzecinkowymi. W aktualnych przeglądarkach duże liczby całkowite z twojego JSON zachowują dokładne cyfry.
Najczęściej zadawane pytania
Czy moja konfiguracja jest gdzieś wysyłana?
Nie. Konwersja działa w całości w twojej przeglądarce, więc klucze API i sekrety z plików konfiguracyjnych nigdy nie opuszczają twojego komputera.
Dlaczego kolejność kluczy w wyniku TOML się zmieniła?
TOML wymaga, aby w każdej tabeli zwykłe pary klucz–wartość stały przed podtabelami, więc konwerter zapisuje najpierw wartości, potem [tabele], a na końcu [[tablice tabel]]. Dane są te same.
Czy komentarze z TOML są zachowywane?
Nie. JSON nie ma komentarzy, więc przy konwersji TOML → JSON przepadają i przy konwersji odwrotnej nie ma czego przywrócić.
Która wersja TOML jest obsługiwana?
TOML 1.0, w tym klucze z kropkami, tabele w linii, tablice tabel, liczby szesnastkowe, ósemkowe i binarne oraz wszystkie cztery typy daty i czasu.
Dlaczego moja data jest w JSON tekstem?
JSON nie ma typu daty. Teksty w formacie ISO 8601 to przyjęta konwencja i większość języków programowania potrafi je bezpośrednio odczytać.
Podobne narzędzia
- Konwerter JSON na YAML Konwertuj JSON na YAML i YAML na JSON w przeglądarce, z obsługą kotwic, kluczy scalających i plików z wieloma dokumentami. Nic nie jest wysyłane.
- Formatowanie i walidacja JSON Darmowe narzędzie do formatowania i walidacji JSON: upiększa, minifikuje i sprawdza JSON w przeglądarce, wskazując wiersz i kolumnę błędu.
- 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.