JSONをKotlinに変換
JSONをKotlin data classに変換してAndroid・Kotlin開発用に
JSON入力
Kotlin出力
JSONをKotlinとは?
Kotlinは構造化データにdata classを使用します。kotlinx.serializationやGsonでJSONをパースする際、対応するKotlin型が必要です。このツールはJSONからKotlin data classを生成します。
変換はブラウザで実行されます。設定でdata class名とパッケージを設定し、Data ClassとNullable Typesを有効にしてください。サーバーには送信されません。
使い方
JSONを貼り付けまたはアップロード
JSONを左のエディタに貼り付けるか、ファイルをアップロードしてください。<strong>サンプル</strong>で例データを読み込めます。設定でdata class名とパッケージを設定してください。
生成された型を確認
右パネルにKotlin data classが表示されます。ネストオブジェクトはネスト型に。配列は<code>List<T></code>になります。無効なJSONの場合は先にJSONフォーマッターまたはJSONバリデーターを使用してください。
コピーまたはダウンロード
<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はequals、hashCode、toString、copyを自動提供します。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.serializationとGsonを参照。JSONはJSON仕様、RFC 8259を参照。