Wejście JSON

Wyjście F#

Czym jest JSON do F#?

F# używa discriminated union i rekordów dla danych. Biblioteki takie jak FSharp.Data lub Thoth.Json obsługują serializację JSON. To narzędzie generuje typy F# (rekordy, unie) ze struktury JSON do parsowania odpowiedzi API z bezpieczeństwem typów. Specyfikacja JSON definiuje format wejściowy.

Konwersja działa w przeglądarce. Ustaw nazwę typu w panelu konfiguracji. Żadne dane nie są wysyłane na serwer. Do współpracy z C# użyj JSON do C#.

Jak używać tego narzędzia

1

Wklej lub wczytaj JSON

Wklej JSON lub wczytaj plik. Ustaw nazwę typu w panelu konfiguracji. Nieprawidłowy JSON pokaże błąd. Użyj Walidatora JSON, aby najpierw sprawdzić składnię.

2

Sprawdź wyjście F#

Prawy panel pokazuje wygenerowane typy F#. Dodaj Thoth.Json lub FSharp.Data i wyprowadź enkodery/dekodery według potrzeb.

3

Kopiuj lub pobierz

Użyj Kopiuj lub Pobierz. Aby najpierw sformatować JSON, użyj Formatera JSON, do walidacji użyj Walidatora JSON.

Przykłady JSON do F#

Przykład generowania typów F# z obiektu JSON.

Przykład: Rekord subskrybenta

Wejście JSON:

Wejście

Wygenerowane wyjście F#:

Wyjście

Kiedy JSON do F# jest pomocny

Podczas budowania aplikacji F# lub .NET korzystających z REST API potrzebne są typowane modele dla ładunków odpowiedzi. Wklej tutaj przykładową odpowiedź i uzyskaj rekordy lub unie F# do użycia z Thoth.Json lub FSharp.Data. Aby najpierw wyodrębnić konkretne wartości, użyj jq.

Często 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.

Powiązane narzędzia

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