JSONからScalaへの変換
CirceとPlay JSONに対応したScala case classをJSONから自動生成する関数型プログラミングツール
JSON入力
Scala出力
JSONからScalaへの変換とは?
JSONからScalaのcase classが必要ですか?このツールはJSON(JavaScript Object Notation)データをScalaのcase classに変換します。Play Framework、Akka、SparkでJSONを強く型付けされたScalaオブジェクトにデシリアライズしたいScala開発者に最適です。
Scalaドキュメントによると、case classはJSON処理に理想的です。当コンバーターはJSONの構造を解析し、Option型とScalaのベストプラクティスを備えた適切なScala case classを生成します。
すべてブラウザ内で処理されます。データはプライベートに保たれます。生成したScala case classをすぐにプロジェクトで活用できます。詳細はJSON仕様を参照してください。
JSONからScalaへの使い方
JSONからScala case classを生成するには以下の手順に従ってください。各ステップはこのページ上の実際のボタンとパネルを使用します。
JSONを貼り付けるかファイルをアップロード
JSONを左側のJSON入力パネルに貼り付けるか、アップロードをクリックしてファイルを読み込んでください。サンプルをクリックすると例を確認できます。入力例:
{"subscriberId": "SUB-1001", "plan": "Unlimited 5G", "dataUsage": 45.2, "status": "active"}必要に応じてクラス名とオプション(case class、Option型)を設定してください。ネストされたオブジェクトは別々のcase classになり、配列はList[T]になります。
生成されたScala case classを確認
右側のScala出力パネルに生成されたcase classが即座に表示されます。JSONオブジェクトはcase classに、配列はList[T]になります。両方のパネルでシンタックスハイライトが使用されます。
ダウンロードまたはコピー
ダウンロードをクリックして .scala ファイルとして保存するか、コピーでクリップボードにコピーできます。入力パネルのクリアでやり直せます。すべての処理はブラウザ内で実行されます。
実際の使用例
Play Framework
Play Framework向けにJSON APIレスポンスからScala case classを生成します。PlayのビルトインJSONサポートを使ったREST APIやJSON設定のモデルを作成できます。
Akkaアプリケーション
Akkaアプリケーション向けにJSONデータからScala case classを作成します。アクターベースのシステムでのJSONメッセージパッシングや設定のデータモデルを生成できます。
Apache Spark
Apache Sparkアプリケーション向けにJSONデータからScala case classを生成します。JSONベースのデータ処理パイプラインのデータモデルを作成できます。
コード自動生成
手作業で書く代わりにScala case classを自動生成して時間を節約できます。APIレスポンスや設定ファイルの複雑なネストJSON構造に特に役立ちます。
よくある質問
JSONデータは保存されますか?
いいえ。すべてブラウザ内で処理されます。あなたのJSONはコンピューターの外に出ることはなく、こちらには一切届きません。詳細はECMA-404標準を参照してください。
JSONオブジェクトはどのように処理されますか?
JSONオブジェクトはScalaのcase classになります。プロパティはcase classのフィールドになり、ネストされたオブジェクトはネストされたcase classになります。配列は生成されたcase classをTとしたList[T]になります。
生成されたScalaコードはすぐに使えますか?
はい。生成されたScalaコードは有効ですぐに使えます。Scalaプロジェクトに組み込んでください。シリアライゼーションのためにCirce、Play JSON、またはuPickleを使ったJSONコーデックの追加が必要になる場合があります。
どのシリアライゼーションライブラリと連携できますか?
生成されたcase classはJSONシリアライゼーションにCirce、Play JSON、uPickleと連携できます。カスタムシリアライゼーションには暗黙的なエンコーダー・デコーダーの追加が必要になる場合があります。
どのバージョンのScalaに対応していますか?
生成されたコードはScala 2.11以降およびScala 3に対応しています。標準的なcase classの機能を使用し、Scalaの命名規則に従っています。
大きなJSONファイルにも対応していますか?
はい。すべてブラウザ内で処理されるため、パフォーマンスはお使いのデバイスによります。小〜中規模のJSON構造は即座に変換されます。非常に大きいまたは深くネストされた構造は少し時間がかかる場合があります。
他のコード生成ツール
他の言語のコードが必要ですか?他のコード生成ツールもご利用いただけます: