Converti JSON in F#
Converti dati JSON in codice F#
Input JSON
Output F#
Cos'è JSON a F#?
F# utilizza discriminated union e record per i dati. Librerie come FSharp.Data o Thoth.Json gestiscono la serializzazione JSON. Questo strumento genera tipi F# (record, union) dalla struttura JSON per analizzare le risposte API con type safety. La specifica JSON definisce il formato di input.
La conversione viene eseguita nel browser. Imposta il nome del tipo nel pannello configurazione. Nessun dato viene inviato al server. Per l'interoperabilità con C# usa JSON a C#.
Come usare questo strumento
Incolla o carica JSON
Incolla il JSON o carica un file. Imposta il nome del tipo nel pannello configurazione. Il JSON non valido mostra un errore. Usa il Validatore JSON per verificare prima la sintassi.
Esamina l'output F#
Il pannello a destra mostra i tipi F# generati. Aggiungi Thoth.Json o FSharp.Data e deriva gli encoder/decoder secondo le tue necessità.
Copia o scarica
Usa <strong>Copia</strong> o <strong>Scarica</strong>. Per formattare prima il JSON usa il Formattatore JSON, per la validazione usa il Validatore JSON.
Esempi JSON a F#
Esempio di generazione di tipi F# da un oggetto JSON.
Esempio: Record sottoscrittore
Input JSON:
Output F# generato:
Quando è utile JSON a F#
Quando si costruiscono applicazioni F# o .NET che utilizzano API REST, sono necessari modelli tipizzati per i payload di risposta. Incolla una risposta di esempio qui e ottieni record o union F# da usare con Thoth.Json o FSharp.Data. Per estrarre prima valori specifici usa jq.
Domande frequenti
Usare Option per i campi opzionali?
Usa Option<T> per i campi JSON opzionali. Thoth.Json e FSharp.Data gestiscono null e chiavi mancanti. Senza Option, i campi mancanti causano errori di decodifica.
Thoth.Json vs FSharp.Data?
Thoth.Json usa encoder/decoder in stile F#. FSharp.Data fornisce type provider e parsing JSON. Entrambi funzionano con i tipi generati. Scegli in base alle dipendenze del tuo progetto.
I dati sono sicuri?
Sì. La generazione viene eseguita interamente nel browser. Il JSON o il codice non vengono inviati al server.
Record vs classi?
I record F# sono immutabili e concisi. Il generatore produce generalmente record. Usa le classi se hai bisogno di stato mutabile o interoperabilità con C#.
Può essere usato con Suave o Giraffe?
Sì. Giraffe è un popolare framework web F#. I tipi generati funzionano con i handler HTTP. Usa Thoth.Json o simile per la serializzazione request/response.