JSONをScalaに変換
JSONをScala case classに変換してScala開発用に
JSON入力
Scala出力
JSONをScalaとは?
Scalaは構造化データにcase classを使用します。circeやplay-jsonでJSONを消費する際、対応する型が必要です。このツールはJSONからScala case classを生成します。
設定でcase class名とパッケージを設定し、Case ClassとOption Typesを有効にしてください。circeやplay-jsonでデシリアライズできます。
変換は完全にブラウザで実行されます。JSONはサーバーに送信されません。
JSONをScalaが役立つ場面
ScalaアプリでREST APIを消費する際、型付きcase classが必要です。
使い方
JSONを貼り付けまたはアップロード
JSONを左のエディタに貼り付けるか、アップロードでファイルを読み込んでください。サンプルで例データを読み込めます。設定でcase class名とパッケージを設定してください。
生成された型を確認
右パネルに生成されたScala case classが表示されます。無効なJSONの場合は先にJSONフォーマッターまたはJSONバリデーターで修正してください。
コピーまたはダウンロード
コピーまたはダウンロードでコードを取得してください。Scalaプロジェクトに貼り付けてください。
JSONをScalaの例
JSONオブジェクトからScala case classを生成する例です。
例:加入者レコード
JSON入力:
生成されたScala出力:
JSONをScalaが役立つ場面
REST API統合時に必要です。ここに貼り付けるとcirceやplay-jsonで使えるcase classが得られます。
2つのJSONをマージするにはJSONマージツールを使用してください。
APIレスポンス、設定ファイル、データエクスポートはJSONが多いです。ここで処理するとScala case classを生成できます。
よくある質問
Case classと通常クラス?
Case classはequals、hashCode、toString、copyを自動提供します。DTOに推奨されます。
Option型は?
オプショナルJSONフィールドにはOption Typesを有効にしてください。ScalaはOption[T]でnullableを表現します。
データは送信されますか?
いいえ。生成はブラウザで実行されます。
circeとplay-json?
両方とも生成されたcase classで動作します。circeはio.circe、play-jsonはplay.api.libs.jsonを使用します。
ネストオブジェクトは?
ネストJSONオブジェクトは別のcase classになります。配列はList[T]またはSeq[T]になります。