Cum se folosește
- Lipiți un obiect JSON sau încercați exemplul.
- Activați „Leave out null values” dacă JSON-ul conține null-uri de care nu aveți nevoie.
- Copiați TOML-ul sau descărcați-l ca fișier .toml.
Cum funcționează
JSON-ul este analizat strict, apoi scris ca TOML 1.0 cu biblioteca open-source smol-toml. Obiectele imbricate devin [tables], array-urile de obiecte devin [[arrays of tables]], iar cheile care nu sunt cuvinte simple sunt puse între ghilimele.
TOML nu poate exprima tot ce poate JSON. Rădăcina documentului trebuie să fie un tabel, deci un array JSON sau o valoare simplă este respinsă. Nu există null în TOML: implicit, primul null este raportat cu calea sa; puteți alege să omiteți în schimb membrii obiectului cu valoare null. Un null într-un array este întotdeauna o eroare, deoarece eliminarea lui ar schimba pozițiile celorlalte elemente. Array-urile care amestecă tipuri (de exemplu, numere și șiruri) sunt valide în TOML 1.0, dar nu în versiunea mai veche 0.5, astfel încât sunt contorizate într-o notă.
JSON nu distinge 1 de 1.0, deci numerele întregi sunt scrise ca numere întregi TOML. Șirurile care arată ca date rămân șiruri. Conversia inversă este TOML în JSON.
Exemple
Setări aplicație
{"server": {"host": "0.0.0.0", "port": 8080}} devine un tabel [server] cu cheile host și port.
Listă de lucrători
"workers": [{"queue": "mail"}, {"queue": "images"}] devine două blocuri [[workers]].
Întrebări frecvente
De ce nu este permis null?
TOML nu are valoare null. Omiteți cheia sau folosiți o valoare precum un șir gol, în funcție de ce așteaptă programul care citește.
De ce apare o notă la un array cu numere și șiruri?
Matricile cu tipuri mixte sunt permise începând cu TOML 1.0, dar instrumentele care implementează TOML 0.5 le resping. Nota este utilă dacă instrumentul vizat este mai vechi.
Va rămâne 1.0 ca float?
Nu. JSON stochează 1.0 și 1 ca același număr, deci devine întregul 1. Scrieți 1.5 sau editați TOML-ul dacă programul care îl citește are nevoie de un float.
Confidențialitate
Conversia rulează complet în browser. JSON-ul și TOML-ul nu sunt încărcate sau stocate.