RIFERIMENTO RAPIDO TOML
Tabelle, stringhe, numeri, date, array
Sintassi
Regole di Base
| key = value | Coppia chiave-valore (una per riga) |
| # | Commento (fino a fine riga) |
| Case sensitive | Chiavi e valori distinguono le maiuscole |
| UTF-8 | I file devono essere UTF-8 valido |
| No null | TOML non ha il tipo null |
Esempio Minimale
title = "My App"
debug = true
port = 8080
Stringhe
Tipi di Stringa
| "basic" | Stringa base (supporta escape) |
| 'literal' | Stringa letterale (nessun escape) |
| """multi""" | Stringa base multi-riga |
| '''multi''' | Stringa letterale multi-riga |
Esempi
basic = "Hello\nWorld"
literal = 'C:\Users\path'
multi = """
Line one
Line two"""
Sequenze di Escape
| \n \t \r | A capo, tabulazione, ritorno a capo |
| \\ | Backslash |
| \uXXXX | Unicode (4 cifre esadecimali) |
| \UXXXXXXXX | Unicode (8 cifre esadecimali) |
Numeri e Booleani
Tipi Numerici
| 42 | Intero |
| 1_000_000 | Intero con caratteri di separazione |
| 0xff / 0o77 / 0b11 | Esadecimale, ottale, binario |
| 3.14 | Numero in virgola mobile |
| 5e+22 / 1e-2 | Notazione scientifica |
| inf / nan | Valori float speciali |
| true / false | Booleano (solo minuscolo) |
Esempi
count = 42
price = 19.99
hex_color = 0xFF5733
enabled = true
Date
Tipi di Data e Ora
| 2026-03-26T10:30:00Z | Data-ora con offset (UTC) |
| 2026-03-26T10:30:00-05:00 | Data-ora con offset (EST) |
| 2026-03-26T10:30:00 | Data-ora locale (senza fuso orario) |
| 2026-03-26 | Data locale |
| 10:30:00 | Ora locale |
Esempi
created = 2026-03-26T10:30:00Z
birthday = 1990-05-15
alarm = 07:00:00
Tabelle
Sintassi delle Tabelle
[server]
host = "localhost"
port = 8080
[server.ssl]
enabled = true
cert = "/path/to/cert.pem"
Array di Tabelle
[[users]]
name = "Alice"
role = "admin"
[[users]]
name = "Bob"
role = "user"
Regole
| [name] | Intestazione di tabella standard |
| [a.b.c] | Chiave puntata — tabella annidata |
| [[name]] | Array di tabelle |
| No redefine | Non si può definire la stessa tabella due volte |
Array
Sintassi degli Array
colors = ["red", "green", "blue"]
numbers = [1, 2, 3]
Array Multi-riga
hosts = [
"alpha.example.com",
"beta.example.com",
]
La virgola finale è permessa negli array TOML
Regole
| Same type | Tutti gli elementi devono essere dello stesso tipo |
| Trailing comma | Permessa dopo l'ultimo elemento |
| Newlines | Gli array possono estendersi su più righe |
Tabelle Inline
Sintassi delle Tabelle Inline
point = { x = 1, y = 2 }
user = { name = "Alice", admin = true }
Regole
| Single line | Deve stare su una sola riga |
| No trailing comma | La virgola finale non è permessa |
| No newlines | Non può estendersi su più righe |
| No adding keys | Non si possono aggiungere chiavi alla tabella inline in seguito |
Inline vs Standard
# Inline — compatto, su una riga
db = { host = "localhost", port = 5432 }
# Standard — leggibile, estendibile
[db]
host = "localhost"
port = 5432
Pattern Comuni
pyproject.toml
[project]
name = "myapp"
version = "1.0.0"
dependencies = ["flask>=3.0"]
Cargo.toml
[package]
name = "myapp"
version = "0.1.0"
edition = "2021"
Suggerimenti
| taplo | Toolkit TOML — formattatore e linter |
| No null | Ometti la chiave invece di impostare null |
| No anchors | A differenza di YAML, nessun sistema di riferimenti/alias |
| Strict | Nessuna chiave duplicata, nessun array di tipo misto |