← ツールホーム100% クライアントサイド処理

JSON to Java Record, Lombok & Jackson POJO ジェネレーター

JSONから型推論を行い、Jacksonの@JsonPropertyアノテーションを備えた慣用的なJava Record、Lombok @Dataクラス、または標準的なJava POJOを生成します。

649 chars
生成された Java クラス
package com.example.model;

import com.fasterxml.jackson.annotation.JsonProperty;
import java.time.Instant;
import java.time.LocalDate;
import java.util.List;
import java.util.UUID;

public record Owner(
    @JsonProperty("user_id")
    Integer userId,

    @JsonProperty("full_name")
    String fullName,

    @JsonProperty("email_address")
    String emailAddress,

    @JsonProperty("verified")
    Boolean verified
) {}

public record Metric(
    @JsonProperty("metric_key")
    String metricKey,

    @JsonProperty("metric_value")
    Double metricValue,

    @JsonProperty("alert_threshold")
    Integer alertThreshold
) {}

public record ApiResponse(
    @JsonProperty("id")
    UUID id,

    @JsonProperty("name")
    String name,

    @JsonProperty("is_active")
    Boolean isActive,

    @JsonProperty("max_concurrency")
    Integer maxConcurrency,

    @JsonProperty("service_fee")
    Double serviceFee,

    @JsonProperty("created_at")
    Instant createdAt,

    @JsonProperty("deployment_date")
    LocalDate deploymentDate,

    @JsonProperty("tags")
    List<String> tags,

    @JsonProperty("owner")
    Owner owner,

    @JsonProperty("metrics")
    List<Metric> metrics
) {}

出力クラス形式

3

生成クラス数

17

推論フィールド数

1.2 KB

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

JSON to Java Record, Lombok & Jackson POJO ジェネレーター — リファレンスガイド

JSONから型推論を行い、Jacksonの@JsonPropertyアノテーションを備えた慣用的なJava Record、Lombok @Dataクラス、または標準的なJava POJOを生成します。

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

targetStructureenum ('RECORD' | 'LOMBOK' | 'STANDARD_POJO')

生成対象のクラススタイルを指定します: イミュータブルなJava 16+ Record、ミュータブル/イミュータブルなLombokアノテーション付きクラス(@Data, @Builder, @Value)、または明示的なgetter/setterを持つ従来のJavaBeans。

propertyNamingStrategyenum ('CAMEL_CASE' | 'SNAKE_CASE' | 'KEBAB_CASE' | 'EXACT')

JSONキーとJavaフィールドのマッピング方式を決定し、ケース記法の差異を吸収するためのJacksonアノテーション(@JsonProperty, @JsonNaming)を生成するかどうかを制御します。

inferNumbersAsenum ('PRIMITIVE_OR_BOXED' | 'BIG_DECIMAL' | 'STRICT_LONG')

数値の型推論ヒューリスティクスを制御します。浮動小数点数をDoubleまたはBigDecimalに、整数をInteger、Long、またはBigIntegerにマッピングします。

includeJacksonAnnotationsboolean

trueの場合、生成されるフィールドおよびクラスに@JsonProperty、@JsonInclude(Include.NON_NULL)、@JsonIgnoreProperties(ignoreUnknown = true)などのJacksonアノテーションを付与します。

dateTimeLibraryenum ('JAVA_TIME' | 'LEGACY_UTIL_DATE' | 'STRING_ONLY')

ISO-8601形式の日時文字列の型推論を制御し、タイムスタンプをjava.time.Instant、java.time.OffsetDateTime、またはjava.time.LocalDateへ自動的にマッピングします。

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

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

生成したJava Recordのデシリアライズ時に、Jacksonが「Cannot construct instance of (no Creators, like default constructor, exist)」エラーで失敗する。

jackson-databindがバージョン2.12以降であることを確認してください。Java 16+で動作させている場合は、ObjectMapperにjackson-module-parameter-namesが登録されていることを確認するか、Recordの標準コンストラクタ(canonical constructor)を自動処理できるJackson 2.13以降を使用してください。

生成されたPOJOフィールドに定義された初期値が、Lombokの@Builderによって無視される、または適用に失敗する。

初期化子を持つフィールドに@Builder.Defaultを付与するか、@AllArgsConstructorと併せて明示的な@NoArgsConstructorを追加してください。これにより、Jacksonがフィールドの初期値をリセットすることなく、リフレクションまたはビルダーパターン経由でオブジェクトをインスタンス化できるようになります。

ネストされた不均一なJSON配列(異なる型の混在)により、List<Object>のような不適切なジェネリクス定義が生成される。

Jacksonの@JsonTypeInfoおよび@JsonSubTypesを付与したポリモーフィックな共通インターフェースや抽象基底クラスを定義するか、POJO生成前にJSONペイロードを前処理してオブジェクト構造の一貫性を確保してください。

よくある質問 (FAQ)

▼

▼

▼

▼

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

すべてのツール →
JSON to C# .NET Record & Class Generator (System.Text.Json & Newtonsoft)developer

JSONペイロードを、System.Text.Jsonの[JsonPropertyName]やNewtonsoft.Jsonの属性を付与した、厳密に型付けされたC#のレコード、クラス、構造体へ変換します。

ツールを開く→
Nginx & Apache アクセスログパーサー(メトリクス、ステータスコード & GeoIP)developer

ローカル環境でNginxおよびApacheの生アクセスログを解析し、HTTPステータスコード分布、リクエスト頻出URL(Top URLs)、ユニーククライアントIP、帯域幅メトリクス、およびカスタム正規表現によるパターンマッチングを提供します。

ツールを開く→
GraphQL SDL to JSON Schema & OpenAPI コンバーターdeveloper

GraphQL SDL のスキーマ定義、型、クエリ、ミューテーションを、標準的な JSON Schema Draft-07 および OpenAPI コンポーネントスキーマへ直接変換します。

ツールを開く→
Crontab構文&Quartzスケジュール式 チートシートdeveloper

5フィールドPOSIX規格および6フィールドQuartz形式のcron式完全リファレンス。特殊マクロ、実行周期計算、多重起動防止策を徹底解説。

ツールを開く→
JavaScript正規表現(RegEx)構文仕様・チートシートdeveloper

ECMAScript準拠の正規表現構文、キャプチャグループ(名前付き・非キャプチャ)、置換トークン($1, $&)、先読み・後読みの技術解説。

ツールを開く→
URLエンコード・デコードツールdeveloper

RFC 3986厳格規格、encodeURIComponent、encodeURI、formUrlEncodedに対応した高速・安全な双方向URL変換ツール。

ツールを開く→