Konwersja formatu JSON do TOML — Numio
Konwertuje obiekt JSON na TOML. Zagnieżdżone obiekty stają się sekcjami [tabela], tablice obiektów stają się [[tablica tabel]], a klucze z wartościami null są usuwane, ponieważ TOML nie ma wartości null.
Przekształcanie konfiguracji JSON w składnię konfiguracji pyproject.toml, Cargo.toml, wrangler.toml lub Hugo.
Kiedy go używać
- Przekształcanie konfiguracji JSON w składnię konfiguracji pyproject.toml, Cargo.toml, wrangler.toml lub Hugo.
- Przenoszenie ustawień wygenerowanych przez skrypt jako JSON do pliku konfiguracyjnego opartego na TOML.
Jak używać
- Wklej obiekt JSON (korzeń musi być obiektem, a nie tablicą) do lewego edytora lub użyj przycisku ładowania pliku, aby otworzyć plik UTF-8.
- Sprawdź TOML po prawej: najpierw pojawiają się klucze skalarne, potem sekcje [table] i [[array]].
- Skopiuj wynik, a następnie porównaj go z udokumentowanymi kluczami narzędzia docelowego przed wymianą konfiguracji.
Obiekt JSON
{
"title": "My App",
"port": 8080,
"debug": false,
"owner": { "name": "Ada", "since": "2024-01-05T10:00:00Z" },
"servers": [
{ "host": "a.example.com", "weight": 3 },
{ "host": "b.example.com", "weight": 1 }
],
"ports": [80, 443]
}TOML
title = "My App" port = 8_080 debug = false ports = [ 80, 443 ] [owner] name = "Ada" since = "2024-01-05T10:00:00Z" [[servers]] host = "a.example.com" weight = 3 [[servers]] host = "b.example.com" weight = 1
Szczegóły i ograniczenia
Liczby całkowite wynoszące 1000 lub więcej otrzymują separatory podkreślenia (8080 staje się 8_080). Jest to prawidłowe TOML i analizuje ten sam numer.
Ciągi daty pozostają w cudzysłowie; JSON nie ma typu daty, więc nie są generowane żadne wartości daty i godziny TOML.
Klucze z wartościami null są dyskretnie pomijane, a 1,0 w JSON jest zapisywane jako liczba całkowita 1.
Działa w przeglądarce z @iarna/toml. Lista, która łączy obiekty z innymi wartościami, jest odrzucana, ponieważ tablice tabel TOML nie mogą ich pomieścić. Podtabele są wcięte dwiema spacjami; TOML ignoruje to.
FAQ
Czy mogę przekonwertować tablicę JSON w katalogu głównym?
Nie. Dokument TOML musi być tabelą, dlatego strona wyjaśnia, że JSON jest tablicą, i sugeruje otoczenie jej obiektem, np. {"items": [...]}.
Co się dzieje z wartościami null?
Klucz został upuszczony. {"a": null} generuje puste dane wyjściowe. Użyj pustego ciągu lub celowo usuń klucz, jeśli cel tego oczekuje.
Dlaczego liczby zawierają podkreślenia?
Serializator formatuje duże liczby całkowite z separatorami _ cyfr, na co pozwala specyfikacja TOML. Każdy parser TOML odczytuje 8_080 jako 8080.