Cookie の使用について.本サイトでは、基本機能の提供に必要な必須 Cookie を使用しています。さらに、同意いただいた場合に限り、アクセス解析 Cookie を利用して利用状況を把握し、サービス改善に役立てます。詳しくは .
このツールは使いやすかったですか?
フィードバックは改善に役立ちます
将JSON数据结构转换为Scala 3 case class代码,自动推断类型,提升开发效率。
概要
解決できる課題、処理の仕組み、データの範囲を確認できます。
このページでは、入力したJSONサンプルを読み取り、Scala 3向けのデータ型コードを生成します。通常はcase classを中心とする宣言が出力され、型名とパッケージ名を指定できます。「型定義のみ」の設定も選べます。生成物はサンプルに基づくモデルのたたき台です。ケースクラスはフィールドを持つデータを表すScalaの宣言で、JSONを実際に読み書きする仕組みとは別のものです。
JSONでは文字列、数値、真偽値、null、オブジェクト、配列を表現できます。変換時は例に現れた値や構造が推論材料になります。たとえば {"name":"Mika","count":3,"active":true} なら、文字列・数値・真偽値に対応するフィールドの形を検討できます。日時らしい文字列もJSON上は文字列です。名前だけを根拠に日付型へ確定することはできません。
Scalaのcase classはデータを表す宣言として使われます。JSONデコーダー、エンコーダー、通信処理、入力スキーマまではこの変換に含まれないため、プロジェクトで採用するライブラリや仕様に合わせた実装は別途必要です。
JSONはサンプルであり、API契約そのものではありません。オブジェクトのネスト、配列の中身、nullや空配列の有無など、入力に見えている情報によって生成コードが変わります。型名は既定の Root から変更でき、パッケージ名は既定値を編集できます。初期設定では型定義だけを出力する選択が有効です。
ひとつのサンプルに値が一種類しか現れない場合、別レコードに異なる値や欠落フィールドがあっても、その差は分かりません。配列が空なら要素型を観察できず、nullだけの項目も業務上の型を一意に決めません。出力を確定モデルとして扱わず、複数の代表例や正式な仕様と照合してください。
使い方
手順に沿って操作し、例を使って入力と結果を確認します。
構文として有効なJSONを入力欄に貼り付けます。コメント、引用符のないキー、末尾の余分なカンマはJSONとして無効です。必要なら整形操作で見やすくし、サンプル操作で例を読み込めます。
型名を設定し、必要に応じて詳細設定を開いてパッケージ名や「型定義のみ」を調整します。型名はプロジェクトの命名規則に合わせてください。
表示されたScala 3コードを確認します。ネストした型、配列要素、フィールド名、nullの扱いが意図と合うか、サンプルの各部分と突き合わせます。
出力をコピーするか、ファイルとして保存します。プロジェクトに取り込んだ後、利用するScala 3コンパイラーでコンパイルし、JSONライブラリの設定と実データで読み書きを検証します。
確認用の例として、複数の注文データがあるなら、項目が欠けた例、nullを含む例、配列要素の異なる例も用意します。単一の典型レコードだけでなく境界ケースを入力し直すと、推論の揺れに気づきやすくなります。
活用例
仕事や日常の流れの中での活用方法を紹介します。
Scala開発者がレスポンス例をモデル宣言の初稿にし、API仕様書の必須項目や省略可能項目と照合します。レビュー時にオブジェクト階層やフィールド一覧を共有するための草案として使えます。
ネストしたJSONをScalaの型宣言に置き換えて、チームでデータ構造を検討します。生成コードをそのまま本番モデルに採用する前に、命名、互換性、デコード方式を担当者間で決めます。
Q&A
よくある疑問や迷いやすい点をまとめて確認できます。
このページの出力はScala 3の型コードです。Circeなど特定ライブラリ向けのcodecやJSONを読み込む処理が設定済みとは限りません。プロジェクトのライブラリに合わせて別途用意してください。
JSONの値としては文字列です。日時に見える内容だけで実際の形式やタイムゾーンの意味は確定しないため、必要な型と解析規則を仕様に沿って決めてください。
空配列には要素の例がなく、nullだけのフィールドにも具体的な値の型がありません。別の代表サンプルやAPI仕様を用意し、生成型をその情報に合わせて見直してください。
出力された名前が元のJSONキーとどう対応するかを確認します。キー名を維持する必要がある場合は、利用するJSONライブラリのフィールド別名指定などを追加し、実データでデコードを試してください。
注意
利用範囲、結果の制限、必要な注意点を事前に確認します。
ひとつのJSON例から分かるのは、その例に現れた形です。別レコードでの欠落、null許容、配列の全要素、将来の追加項目、数値の範囲までは保証しません。正式なデータ契約や複数の実例と照らし、必要な型注釈・フィールド別名・バリデーションを補ってください。
コードが生成されたことは、コンパイル成功やJSONライブラリとの互換性を意味しません。対象のScala 3バージョンと依存関係でコンパイルし、実際の入力・出力ケースを使って検証してから利用してください。生成コードだけで通信処理や入力値の妥当性確認が完了するわけではありません。
関連
関連ツール、特集、利用可能なAPIを探せます。