JSON → Scala 3 & 2

JSON to Scala 3 & Scala 2 Case Class Generator

JSONペイロードを高精度に解析し、型安全なScala 3およびScala 2のケースクラスへ変換。Circe、Play JSON、zio-jsonコーデックの自動導出に対応。

プリセット:
Root:
Package:
5 クラス32 フィールド深度: 2
入力
package com.example.models

import java.time.Instant

import io.circe._
import io.circe.generic.semiauto._
import io.circe.syntax._

final case class Customer(
  customerId: String,
  email: String,
  fullName: String,
  loyaltyTier: String,
  registeredAt: Instant
) derives Codec.AsObject

final case class ShippingAddress(
  street: String,
  city: String,
  state: String,
  postalCode: String,
  country: String
) derives Codec.AsObject

final case class LineItem(
  sku: String,
  title: String,
  unitPrice: BigDecimal,
  quantity: Int,
  taxRate: BigDecimal,
  inStock: Boolean
) derives Codec.AsObject

final case class Payment(
  transactionRef: String,
  method: String,
  isAuthorized: Boolean,
  paidAt: Instant
) derives Codec.AsObject

final case class OrderPayload(
  orderId: String,
  orderNumber: String,
  customer: Customer,
  shippingAddress: ShippingAddress,
  lineItems: List[LineItem],
  subtotal: BigDecimal,
  taxAmount: BigDecimal,
  totalAmount: BigDecimal,
  currency: String,
  payment: Payment,
  discountCode: Option[String] = None,
  notes: String
) derives Codec.AsObject
5
推論されたCase Class数
32
フィールド定義
レベル 2
最大AST階層深度

ゼロナレッジ・完全ローカル実行

すべてのデータ処理、解析、コード生成はお使いのブラウザ内部メモリで完結します。外部サーバーへの送信はゼロです。

超高速・即時リアクティブ演算

最適化されたクライアント側解析パイプラインにより、キーストロークと同時に遅延なくリアルタイムで結果を生成します。

公式仕様準拠・高信頼アーキテクチャ

IETF RFCや公式業界仕様に厳格に準拠し、エッジケースの安全な処理とメモリリークのない堅牢な実行を保証します。

技術リファレンス&アーキテクチャガイド

JSON to Scala 3 & Scala 2 Case Class 変換ツール — リファレンスガイド

JSONペイロードを高精度に解析し、型安全なScala 3およびScala 2のケースクラスへ変換。Circe、Play JSON、zio-jsonコーデックの自動導出に対応。

主要パラメータ&設定項目

ターゲットScalaバージョンEnum (Scala 3 | Scala 2.13)

生成構文を制御し、Scala 3のderives節またはScala 2のimplicitコンパニオンオブジェクトを切り替えます。

初期値: Scala 3
JSONコーデックライブラリEnum (Circe | Play JSON | zio-json | None)

シリアライズ/デシリアライズ用コーデック、Decoder、Encoderの出力フレームワークを指定します。

初期値: Circe
ルートクラス名String

ルートレベルのJSONオブジェクトを表すメインのケースクラス識別子です。

初期値: RootResponse
Nullおよびオプショナル項目の扱いEnum (Option[T] | Strict T)

null許容属性や配列内で欠落するプロパティをScalaのOption[T]でラップし、ヌル安全性を確保します。

初期値: Option[T]

プロの活用テクニック&推奨設定

Scala 3のderives構文によるボイラープレート削減

Scala 3でzio-jsonやCirceを選択すると、'case class User(...) derives JsonCodec' が出力され、冗長なコンパニオンオブジェクト定義が不要になります。

予約語のエスケープ処理

JSONキーに'type'や'val'、'object'などのScala予約語が含まれている場合、自動的にバッククォート(例: `type`: String)で保護され、コンパイルエラーを防ぎます。

階層化されたネストモデルの個別抽出

ネストしたJSONオブジェクトを自動的に再帰解析し、リーフ要素からルートに向かって独立した再利用可能なケースクラス群として分割配置します。

よくあるトラブルと解決策

不均一な配列要素による型不一致

配列内のオブジェクト間でキー構成が異なる場合、すべてのキーを自動統合し、非共通プロパティをOption[T]に昇格させてデシリアライズ失敗を防ぎます。

ハイフンを含むJSONキーによる構文エラー

'content-type'などの記号付きキーはキャメルケース変数に変換され、各ライブラリに応じた@JsonKeyアノテーションが付与されます。

よくある質問 (FAQ)

Scala 3とScala 2.13の出力における主な相違点は何ですか?▼

Scala 3ではderives句を用いた簡潔なクラス定義が採用され、Scala 2.13ではコンパニオンオブジェクト内にimplicit valのCodec/Formatが生成されます。

どのJSONライブラリに対応していますか?▼

Circe (io.circe.generic)、zio-json、Play JSON (play.api.libs.json)、および外部依存関係のない純粋なケースクラス定義に対応しています。

JSONの数値型はどのようにマッピングされますか?▼

整数値は値の大きさに応じてIntまたはLongに分類され、小数はDoubleまたは高精度計算向けのBigDecimalとして推論されます。

入力したJSONデータが外部サーバーへ送信されることはありますか?▼

一切ありません。すべての構文解析とコード生成処理はお使いのブラウザ内部(クライアントサイド)で完結し、プライバシーが保護されます。

関連するおすすめ開発ツール

すべてのツール →
JSON to PHP 8.2+ 型付き Readonly DTO ジェネレーター開発ツール

JSON データをコンストラクタプロモーションと fromArray デシリアライザを備えた最新の PHP 8.2+ readonly class DTO(データ転送オブジェクト)に変換します。

ツールを開く→
TypeScript to GraphQL SDL開発ツール

TypeScriptのインターフェース、型エイリアス、列挙型を本番環境向けGraphQLスキーマ定義言語(SDL)へ変換するための開発者リファレンス。

ツールを開く→
TypeScript インターフェースから Protocol Buffers proto3 への変換ツール開発ツール

TypeScriptのinterfaceやtype定義を、インクリメンタルなタグ番号を持つProtobuf 3構文のmessage、field、enumに変換します。

ツールを開く→
GitLab CI パイプライン生成リファレンス開発ツール

Node.js、Python、Go、Rust、Kaniko コンテナワークフローに対応した本番仕様の .gitlab-ci.yml パイプライン構築と最適化のための技術リファレンス。

ツールを開く→
Linux Supervisord (supervisord.conf) プログラム設定ジェネレーター開発ツール

自動再起動、プロセス並行数、ログ出力リダイレクト、環境変数、非特権ユーザー設定を含むSupervisordプログラム設定ブロックをブラウザ上で即座に生成します。

ツールを開く→
HAProxy ロードバランサー設定ジェネレーター開発ツール

HAProxyロードバランサー向けの本番環境対応設定ファイル生成および構文バリデーションツール。

ツールを開く→