Konwertuj JSON in F#
Konwertuj dane JSON in codice F#
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
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.
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à.
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:
Output F# generato:
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.