Cookie の使用について.本サイトでは、基本機能の提供に必要な必須 Cookie を使用しています。さらに、同意いただいた場合に限り、アクセス解析 Cookie を利用して利用状況を把握し、サービス改善に役立てます。詳しくは .
このツールは使いやすかったですか?
フィードバックは改善に役立ちます
将JSON数据自动转换为Dart数据模型类代码,适用于Flutter/Dart开发,支持空安全与嵌套结构。
概要
解決できる課題、処理の仕組み、データの範囲を確認できます。
JSON→Dartクラス変換は、入力したJSONオブジェクトまたは配列の形を読み取り、対応するDartの型定義やモデルコードを生成するツールです。APIレスポンスの項目を手作業でクラスに写す前に、構造を見える形にして作業のたたき台を作れます。JSONのキーはプロパティ名に、文字列・数値・真偽値・配列・入れ子のオブジェクトはそれぞれの型や関連する型に反映されます。配列内にオブジェクトがあれば、その要素の構造もモデルに含まれます。
JSONはデータ交換に使うテキスト形式です。DartではJSONをデコードすると、オブジェクトはマップ、配列はリストとして扱われます。モデルクラスを用意すると、アプリ内で値を型付きのフィールドとして扱いやすくなります。Dart公式資料では、JSON文字列とDartオブジェクトの変換に dart:convert を案内し、注釈を使う生成方式として json_serializable も紹介しています。
生成される型は、貼り付けたサンプルに現れた値から推論されます。たとえば {"name":"Mika","age":28,"active":true} なら、文字列・整数・真偽値に対応するフィールド構造を確認できます。オプションで型定義だけに絞るほか、Freezed互換、Hiveアダプター、JSONアノテーション、finalプロパティ、copyWith の生成を切り替えられます。初期設定ではnull安全性とJSONアノテーションが有効です。
Dartのnull安全性では、通常の型はnullを受け取らず、型名に ? を付けるとnullを許す型になります。サンプルでnullや省略項目がどのように表現されるかを見ながら設定を確認してください。ここで得られるのは入力例に基づくコード案であり、サーバーが返しうる全パターンや必須条件を自動で把握するものではありません。
使い方
手順に沿って操作し、例を使って入力と結果を確認します。
実際のAPIレスポンスから、必要なキーや入れ子、配列要素が含まれる有効なJSONを貼り付けます。複数レコードで項目が異なる場合は、その違いが分かるサンプルを配列にまとめると確認しやすくなります。
ルートの型名をプロジェクト内で使う名前に変更します。null安全性やJSONアノテーションなど基本設定を確認し、必要なら詳細設定で型定義のみ、Freezed、Hive、final、copyWithを選びます。選択によって出力内容が変わります。
入れ子の型、リストの要素型、プロパティ名、nullを許す型を見直します。問題なければコードをコピーするか、型名を使った .dart ファイルとしてダウンロードします。
入力の変更に応じてコードが更新されます。「フォーマット」はJSONの見た目を整え、「サンプル」は例を読み込みます。構文エラーが出る場合は、キーと文字列を二重引用符で囲み、末尾のカンマやコメントを取り除いてください。
活用例
仕事や日常の流れの中での活用方法を紹介します。
画面で使うレスポンス例を入力し、フィールドやネストしたデータの型をモデル案として確認します。実装に取り込む前に、API仕様と照らし合わせて必須項目や変換処理を調整します。
オブジェクトの中にプロフィールや明細の配列があるデータを入力し、親子の型の関係を一覧できるコード案にします。チームで項目を確認するときの下書きとして使えます。
型定義のみの出力と、注釈やFreezedなどの設定を変えた出力を見比べ、既存プロジェクトの依存関係やコード生成手順に合う案を選ぶ材料にします。
Q&A
よくある疑問や迷いやすい点をまとめて確認できます。
使えます。オブジェクト配列を入力すると、含まれる要素の形からモデル構造が生成されます。ルート型名はプロジェクトに合わせて設定し、配列が空の場合は要素の型を推測できない点に注意してください。
サンプルに現れない項目や、将来のレスポンス形式は推測できません。異なるレコードで項目の有無や型が変わる場合は、複数の代表例を配列に含め、出力後も契約資料と照合してください。
いいえ。選択に応じたコードを生成しますが、必要なパッケージ、依存関係、アノテーション、ビルド設定まではプロジェクトに追加しません。利用中のバージョンと生成手順を別途確認してください。
注意
利用範囲、結果の制限、必要な注意点を事前に確認します。
出力は入力サンプルの形から推論したコード草案です。サンプルにない任意項目、フィールドごとの業務ルール、値の範囲、APIのバージョン差は保証されません。単一レコードだけでは、他の応答で現れる項目やnullの可能性を表せないことがあります。代表性のある例を用意し、型・null許容・フィールド名をAPI契約に照らして修正してください。
このツールはDartコードのコンパイルやアプリ上の動作を検証しません。Freezed、Hive、JSONアノテーションを有効にした場合は、出力がプロジェクトの依存パッケージと生成設定に合うかを確認し、実際のビルドやテストで確かめてください。機密性のある実データを入力する場合は、組織のデータ取扱いルールに従い、個人情報や認証情報を含まないサンプルに置き換えることを検討してください。
関連
関連ツール、特集、利用可能なAPIを探せます。