Jak używać
- Wklej obiekt JSON lub wypróbuj przykład.
- Włącz opcję „Pomiń wartości null”, jeśli Twój JSON zawiera wartości null, których nie potrzebujesz.
- Skopiuj TOML lub pobierz go jako plik .toml.
Jak to działa
JSON jest parsowany ściśle, a następnie zapisywany jako TOML 1.0 za pomocą biblioteki open-source smol-toml. Zagnieżdżone obiekty stają się [tables], tablice obiektów stają się [[arrays of tables]], a klucze, które nie są zwykłymi słowami, są umieszczane w cudzysłowie.
TOML nie może wyrazić wszystkiego, co potrafi JSON. Korzeń dokumentu musi być tabelą, więc tablica JSON lub pojedyncza wartość jest odrzucana. W TOML nie ma wartości null: domyślnie pierwszy null jest zgłaszany z jego ścieżką; możesz zamiast tego wybrać pominięcie elementów obiektu o wartości null. Wartość null wewnątrz tablicy jest zawsze błędem, ponieważ jej usunięcie zmieniłoby pozycje pozostałych elementów. Tablice mieszające typy (na przykład liczby i ciągi znaków) są poprawne w TOML 1.0, ale nie w starszej wersji 0.5, więc są odnotowywane w notatce.
JSON nie rozróżnia 1 od 1.0, więc liczby całkowite są zapisywane jako liczby całkowite TOML. Ciągi znaków, które wyglądają jak daty, pozostają ciągami. Kierunek odwrotny to TOML na JSON.
Przykłady
Ustawienia aplikacji
{"server": {"host": "0.0.0.0", "port": 8080}} staje się tabelą [server] z kluczami host i port.
Lista pracowników
"workers": [{"queue": "mail"}, {"queue": "images"}] staje się dwoma blokami [[workers]].
Często zadawane pytania
Dlaczego null nie jest dozwolony?
TOML nie ma wartości null. Pomiń klucz lub użyj wartości takiej jak pusty ciąg, w zależności od tego, czego oczekuje program odczytujący.
Dlaczego tablica liczb i ciągów znaków wyświetla notatkę?
Tablice mieszanych typów są dozwolone od TOML 1.0, ale narzędzia implementujące TOML 0.5 je odrzucają. Notatka pomaga, jeśli twoje docelowe narzędzie jest starsze.
Czy 1.0 pozostanie liczbą zmiennoprzecinkową?
Nie. JSON przechowuje 1.0 i 1 jako tę samą liczbę, więc staje się liczbą całkowitą 1. Wpisz 1.5 lub edytuj TOML, jeśli program odczytujący potrzebuje liczby zmiennoprzecinkowej.
Prywatność
Konwersja odbywa się w całości w Twojej przeglądarce. Twój JSON i TOML nie są przesyłane ani zapisywane.