Cos'è jtd?

JTD (JSON Type Definition)

JSON Type Definition (JTD) è uno schema per definire la struttura dei dati JSON. L'obiettivo principale di JTD è la semplicità, la portabilità e la leggibilità, sia per gli umani che per le macchine. A differenza di altri linguaggi di schema come JSON Schema, JTD si concentra unicamente sulla definizione della struttura dei dati e non include funzionalità di validazione elaborate o meccanismi complessi di constraint.

Ecco alcuni concetti chiave di JTD:

  • Tipi base: JTD fornisce un insieme di tipi base come string, boolean, timestamp, int8, uint8, int16, uint16, int32, uint32, float32, float64.

  • Nullabile: Permette che un valore sia null usando il tipo nullable.

  • Enum: Permette di specificare un insieme di valori stringa validi.

  • Array: Definisce un array di elementi dello stesso tipo.

  • Oggetti: Definisce un oggetto con proprietà specifiche. Le proprietà possono essere required o optional.

  • Discriminatori: Permette di creare schemi che possono avere diverse strutture a seconda del valore di un determinato campo (il discriminatore).

  • Referenze: Permette di riutilizzare definizioni di schema tramite referenze.

JTD è progettato per essere facile da imparare e implementare, rendendolo una scelta ideale per applicazioni in cui la semplicità e la portabilità sono prioritarie. Nonostante la sua semplicità, JTD può essere utilizzato per definire schemi per dati JSON complessi.