JSON入力

Kotlin出力

JSONをKotlinとは?

Kotlinは構造化データにdata classを使用します。kotlinx.serializationやGsonでJSONをパースする際、対応するKotlin型が必要です。このツールはJSONからKotlin data classを生成します。

変換はブラウザで実行されます。設定でdata class名とパッケージを設定し、Data ClassとNullable Typesを有効にしてください。サーバーには送信されません。

使い方

1

JSONを貼り付けまたはアップロード

JSONを左のエディタに貼り付けるか、ファイルをアップロードしてください。<strong>サンプル</strong>で例データを読み込めます。設定でdata class名とパッケージを設定してください。

2

生成された型を確認

右パネルにKotlin data classが表示されます。ネストオブジェクトはネスト型に。配列は<code>List&lt;T&gt;</code>になります。無効なJSONの場合は先にJSONフォーマッターまたはJSONバリデーターを使用してください。

3

コピーまたはダウンロード

<strong>コピー</strong>または<strong>ダウンロード</strong>でコードを取得してください。先にJSONをフォーマットするにはJSONフォーマッターを、検証にはJSONバリデーターを使用してください。

JSONをKotlinの例

JSONオブジェクトからKotlin data classを生成する例です。

例:加入者レコード

JSON入力:

入力

生成されたKotlin出力:

出力

JSONをKotlinが役立つ場面

AndroidアプリやKotlinバックエンドでREST APIを消費する際、型付きdata classが必要です。サンプルレスポンスを貼り付けるとRetrofit、Gson、kotlinx.serializationで使えるKotlinモデルが得られます。

よくある質問

Data classと通常クラス?

Data classはequalshashCodetoStringcopyを自動提供します。DTOに推奨されます。

Nullable型は?

オプショナルJSONフィールドにはNullable Typesを有効にしてください。KotlinはType?でnullableを表現します。

データは送信されますか?

いいえ。生成はブラウザで実行されます。

Gsonとkotlinx.serialization?

両方とも生成されたdata classで動作します。Gsonは@SerializedName、kotlinx.serializationは@SerialNameを使用します。

Retrofitで使えますか?

はい。RetrofitはGsonやkotlinx.serializationで動作します。ここでdata classを生成し、APIインターフェースのレスポンス型として使用してください。

関連ツール

Kotlin JSONはkotlinx.serializationGsonを参照。JSONはJSON仕様RFC 8259を参照。