Sprytne Okazje — promocje, kody rabatowe i wyprzedaże

Konwerter JSON na TOML

Zamień JSON na format TOML

Bezpieczne (SSL)
Przetwarzanie Lokalne
100% Darmowe
Instrukcja
  • 1
    Wprowadź dane
    Wpisz treść, wklej tekst lub załaduj plik z dysku.
  • 2
    Kliknij przycisk
    Narzędzie natychmiast przetworzy Twoje dane w przeglądarce.
  • 3
    Pobierz wynik
    Skopiuj gotowy tekst lub zapisz plik na urządzeniu.
function runTool() {
  return "Wynik gotowy w 0.1s";
}
Wklej JSON i kliknij „Konwertuj na TOML”.

Oceń to narzędzie:

Powiązane narzędzia

Inne narzędzia, które mogą Ci się przydać

Konwerter JSON → TOML

TOML to czytelny dla człowieka format konfiguracji, używany m.in. w Rust (Cargo.toml) i Pythonie (pyproject.toml). Ten konwerter zamienia strukturę JSON na poprawny TOML.

Na co mapują się typy?

JSONTOML
obiekttabela [sekcja]
tablica obiektówtablica tabel [[sekcja]]
tablica wartościtablica w linii klucz = [ ... ]
liczba / tekst / boolwartość prosta klucz = wartość

Zalety TOML

  • Jest czytelniejszy niż JSON, bo nie wymaga cudzysłowów przy każdej wartości.
  • Obsługuje komentarze (w JSON nie ma).
  • Dobrze odwzorowuje hierarchię konfiguracji.
  • Jest typowany — liczby, daty i wartości logiczne mają jawne typy.

Przykład

{
  "name": "app",
  "server": { "port": 8080 }
}

staje się:

name = "app"

[server]
port = 8080

Jak działa konwerter JSON na TOML

Narzędzie najpierw parsuje tekst JSON do drzewa obiektów. Każdy klucz i wartość trafiają do struktury, którą można przechodzić rekurencyjnie. Na tym etapie sprawdzana jest składnia JSON — jeśli tekst jest niepoprawny, konwersja się zatrzymuje.

Drugi etap to serializacja. Algorytm przechodzi drzewo i dla każdego klucza decyduje, czy zapisać go jako wartość prostą, czy jako tabelę. Klucze proste są wypisywane przed tabelami, bo TOML wymaga, aby pary klucz = wartość nie występowały po nagłówku sekcji, do której należą. Zagnieżdżone obiekty zamieniają się na nagłówki w postaci [ścieżka.do.tabeli].

Tablice są rozdzielane na dwa przypadki: tablica wartości prostych trafia do jednej linii w nawiasach kwadratowych, a tablica obiektów staje się serią nagłówków [[nazwa]]. Dzięki temu struktura JSON zostaje odwzorowana bez zgadywania typów — liczby i wartości logiczne pozostają bez cudzysłowów, a teksty są w cudzysłowach.

Przykład krok po kroku

  1. Wejściowy JSON: {"service":{"timeout":8080,"host":"localhost"},"logs":["stdout","file"],"debug":true}. To obiekt z trzema kluczami: service, logs i debug.
  2. Parser rozpoznaje, że klucz service wskazuje na obiekt, więc odkłada go do osobnej sekcji. Klucze logs i debug są wartościami prostymi lub tablicą wartości prostych.
  3. Zgodnie z zasadą kolejności najpierw zapisywane są klucze proste: logs = ["stdout", "file"] oraz debug = true. Dzięki temu nie znajdą się one po nagłówku tabeli.
  4. Następnie powstaje sekcja [service]. W jej wnętrzu zapisywane są pary: timeout = 8080 (bez cudzysłowów, bo to liczba) oraz host = "localhost" (w cudzysłowach, bo to tekst).
  5. Cały wynikowy TOML to: logs = ["stdout", "file"]; debug = true; [service]; timeout = 8080; host = "localhost". W pliku każda z tych instrukcji znajdzie się w osobnej linii.
  6. Na końcu narzędzie sprawdza, czy nie powstały puste sekcje i czy kolejność kluczy jest poprawna. Otrzymany plik można wkleić do Cargo.toml lub pyproject.toml po ręcznej weryfikacji.

Tabela referencyjna zachowań konwertera

Element w JSONZapis w TOMLUwagi
Obiekt zagnieżdżony[sekcja.podsekcja]Kropka tworzy ścieżkę tabeli.
Tablica obiektów[[sekcja]]Każdy element to osobna tabela w tablicy.
Tablica wartościklucz = [ ... ]Wartości proste w jednej linii.
Pusty obiekt[sekcja]Poprawna składnia TOML; brak kluczy w środku.
null""TOML nie ma null; generator wstawia pusty tekst.
Klucz ze spacją"klucz ze spacją" = wartośćWymaga cudzysłowów.
Liczba całkowitaklucz = 8080Bez cudzysłowów, z zachowaniem typu.
Wartość logicznaklucz = trueMałe litery, bez cudzysłowów.

Praktyczne wskazówki

  • Sprawdź JSON przed konwersją. Konwerter nie naprawi brakujących cudzysłowów ani przecinków. Użyj walidatora JSON, jeśli nie masz pewności co do składni.
  • Pamiętaj o kolejności kluczy. W TOML klucze proste muszą być przed tabelami. Narzędzie układa je automatycznie, ale jeśli edytujesz wynik ręcznie, nie przenoś ich pod nagłówki sekcji.
  • Uważaj na null. TOML nie ma odpowiednika null. Konwerter zamienia je na pusty tekst, więc jeśli null ma znaczenie, popraw wynik po konwersji.
  • Zagnieżdżaj tabele świadomie. Głęboko zagnieżdżone obiekty tworzą długie nagłówki typu [a.b.c]. W TOML są poprawne, ale trudniejsze w utrzymaniu — rozważ spłaszczenie struktury.
  • Testuj wynik w docelowym narzędziu. Po konwersji wczytaj plik do programu, który go używa (np. Cargo lub Python), aby upewnić się, że typy i klucze są interpretowane zgodnie z oczekiwaniem.

Ograniczenia narzędzia

  • Brak konwersji odwrotnej. Narzędzie działa tylko z JSON na TOML. Nie przekształci TOML z powrotem na JSON.
  • Brak obsługi null. TOML nie ma typu null, więc wartość null staje się pustym tekstem. To może zmienić logikę konfiguracji.
  • Brak wnioskowania o datach. JSON nie ma typu daty. Nawet jeśli tekst wygląda jak data, TOML zapisze go jako zwykły łańcuch w cudzysłowach, a nie jako typ daty.
  • Brak komentarzy. JSON nie obsługuje komentarzy, więc konwerter nie ma ich skąd wziąć. Jeśli chcesz dodać komentarze do TOML, musisz zrobić to ręcznie po konwersji.

Najczęstsze pytania

Czy TOML obsługuje null?

Nie — TOML nie ma typu null. Generator zamienia null na pusty tekst, co warto poprawić ręcznie.

Czy kolejność kluczy ma znaczenie?

W TOML klucze proste muszą występować przed tabelami. Generator automatycznie układa je w poprawnej kolejności.

Czy mogę przekonwertować TOML z powrotem na JSON?

Ten kalkulator działa w jedną stronę. Do konwersji odwrotnej użyj dedykowanych narzędzi wiersza poleceń lub bibliotek w swoim języku.

Czy konwerter JSON na TOML obsługuje komentarze?

Nie, ponieważ JSON nie ma składni komentarzy. Konwerter przenosi wyłącznie dane. Komentarze w TOML możesz dodać ręcznie już po wygenerowaniu pliku.

Jak zapisać tablicę obiektów w TOML?

Tablica obiektów staje się serią nagłówków [[nazwa]]. Każdy obiekt z tablicy JSON otrzymuje własną tabelę w tej samej tablicy TOML.

Czy TOML obsługuje daty i godziny?

Tak, TOML 1.0 ma typy daty i godziny, ale JSON ich nie rozróżnia. Konwerter zapisze taką wartość jako tekst w cudzysłowach, chyba że ręcznie zmienisz ją na format daty TOML.

Co zrobić z kluczami zawierającymi kropkę w JSON?

W TOML kropka rozdziela nazwy tabel. Jeśli klucz JSON zawiera kropkę, konwerter powinien ująć go w cudzysłowy, aby nie został potraktowany jako ścieżka. Warto sprawdzić wynik.

Czy wynikowy TOML będzie działał w Cargo.toml i pyproject.toml?

Tak, o ile konwersja nie napotka wartości null ani innych konstrukcji nieobsługiwanych przez TOML. Zawsze przetestuj plik w docelowym narzędziu przed użyciem.

Zainstaluj Webp.pl Miej narzędzia we własnej kieszeni!