JSON入力

F#出力

JSONをF#とは?

F#はデータに判別共用体とレコードを使用します。FSharp.DataやThoth.JsonなどのライブラリがJSONシリアライズを処理します。このツールはJSONからF#型(レコード、共用体)を生成し、型安全にAPIレスポンスをパースできます。

変換はブラウザで実行されます。設定で型名を設定してください。サーバーには送信されません。C#連携にはJSONをC#を使用してください。

使い方

1

JSONを貼り付けまたはアップロード

JSONを貼り付けるかファイルをアップロードしてください。設定で型名を設定してください。無効なJSONの場合は先にJSONバリデーターで構文を確認してください。

2

F#出力を確認

右パネルに生成されたF#型が表示されます。Thoth.JsonやFSharp.Dataを追加し、必要に応じてエンコーダー/デコーダーを導出してください。

3

コピーまたはダウンロード

<strong>コピー</strong>または<strong>ダウンロード</strong>でコードを取得してください。先にJSONをフォーマットするにはJSONフォーマッターを、検証にはJSONバリデーターを使用してください。

JSONをF#の例

JSONオブジェクトからF#型を生成する例です。

例:加入者レコード

JSON入力:

入力

生成されたF#出力:

出力

JSONをF#が役立つ場面

F#や.NETアプリでREST APIを消費する際、レスポンスペイロード用の型付きモデルが必要です。サンプルレスポンスを貼り付けるとThoth.JsonやFSharp.Dataで使えるF#レコードや共用体が得られます。

よくある質問

Thoth.JsonとFSharp.Data?

Thoth.Jsonは型安全なJSONシリアライズを提供します。FSharp.Dataは型プロバイダーを含みます。両方とも生成された型と動作します。プロジェクトの依存関係に基づいて選択してください。

Option型は?

オプショナルJSONフィールドにはOption<T>型を使用してください。Thoth.JsonとFSharp.DataはnullキーとMissingキーを処理します。Optionなしでは、欠落フィールドはデコードエラーを引き起こします。

データはプライベート?

はい。生成はブラウザで実行されます。JSONやコードはサーバーに送信されません。

レコードと判別共用体?

レコードはJSONオブジェクトに適しています。判別共用体は複数の形状を表現する場合に有用です。F#レコードは不変で簡潔です。

Giraffeで使える?

はい。Giraffeは人気のF# Webフレームワークです。生成された型はHTTPハンドラーで動作します。リクエスト/レスポンスのシリアライズにはThoth.Jsonまたは類似ライブラリを使用してください。

関連ツール

FSharp.DataThoth.JsonJSON仕様を参照。