Input JSON

Output F#

Cos'è JSON do F#?

F# utilizza discriminated union e record per i dane. Librerie come FSharp.Data o Thoth.Json gestiscono la serializzazione JSON. Questo narzedzie 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 do C#.

Come usare questo narzedzie

1

Incolla o carica JSON

Incolla il JSON o carica un plik. Imposta il nome del tipo nel pannello configurazione. Il JSON nieprawidlowy mostra un errore. Usa il Walidator JSON per verificare prima la sintassi.

2

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à.

3

Kopiuj o scarica

Usa <strong>Kopiuj</strong> o <strong>Pobierz</strong>. Per formattare prima il JSON usa il Formater JSON, per la validazione usa il Walidator JSON.

Esempi JSON do F#

Przyklad di generazione di tipi F# da un oggetto JSON.

Przyklad: Record sottoscrittore

Input JSON:

Input

Output F# generato:

Output

Quando è utile JSON do 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.

czesto zadawane pytania

Option dla opcjonalnych pól?

Użyj Option<T> dla opcjonalnych pól JSON. Thoth.Json i FSharp.Data obsługują null i brakujące klucze. Bez Option, brakujące pola spowodują błąd dekodowania.

Thoth.Json vs FSharp.Data?

Thoth.Json używa enkoderów/dekoderów w stylu F#. FSharp.Data dostarcza dostawców typów i parsowanie JSON. Oba działają z wygenerowanymi typami. Wybierz na podstawie zależności projektu.

Czy moje dane są prywatne?

Tak. Generowanie odbywa się w całości w przeglądarce. Żaden JSON ani kod nie jest wysyłany do serwera.

Rekordy vs klasy?

Rekordy F# są niemutowalne i zwięzłe. Generator zazwyczaj produkuje rekordy. Użyj klas jeśli potrzebujesz zmiennego stanu lub wymagań interop z C#.

Czy można użyć z Suave lub Giraffe?

Tak. Giraffe to popularny framework webowy F#. Wygenerowane typy działają z handlerami HTTP. Użyj Thoth.Json lub podobnego do serializacji żądań/odpowiedzi.

powiazane narzedzia

FSharp.Data, Thoth.Json, Specifica JSON, RFC 8259, F#.