JSON→Dart 変換
無料オンラインの JSON→Dart 変換ツール。API サンプルを貼り付けると、fromJson・toJson ファクトリ、null safety、final フィールド付きの型付きデータクラスを即座に生成。Flutter ですぐ使え、ブラウザ内で完結します。
JSON→Dart 変換ツールは何を生成しますか?
各モデルに型付きフィールドと fromJson・toJson ファクトリを備えた、すぐ使える Dart クラスを生成します。build_runner や追加パッケージなしで、純粋な Dart だけで API データのデコードとエンコードができます。
ネストしたオブジェクトはどう処理されますか?
JSON オブジェクトごとに独立したクラスが生成されます。親クラスはネスト型のフィールドを持ち、その fromJson は子クラスのファクトリを再帰的に呼び出し、toJson は子の toJson を呼び出します。深い構造も小さなクラスツリーに対応します。
オブジェクトの配列はどうなりますか?
配列要素ごとのオブジェクトはマージされます。全キーの和集合で 1 つの要素クラスが作られ、フィールドは List<要素クラス> 型になります。一部の要素に存在しないキーは自動的に nullable になります。
null safety オプションで何が変わりますか?
null safety をオンにすると、欠落や null の可能性があるフィールドに ? が付き、コンストラクターでは省略可能な名前付き引数になり、fromJson は null を考慮したキャストで読み取ります。オフにすると通常の非 null 型で出力されます。
final オプションはいつ使うべき?
final は全フィールドを構築後に不変にします。Dart のデータクラスで推奨されるスタイルで、アナライザーがモデルへの誤った変更を検出できるようになります。
キーが Dart の有効な識別子でない場合は?
@type や order-id のようなキーは、有効なキャメルケース識別子に自動改名されます(先頭が数字なら $ を接頭辞)。生成された fromJson は元のキー文字列を読み、改名されたフィールドはお知らせに一覧表示されます。
クラス名はどう決まりますか?
トップレベルのクラス名は「クラス名」入力欄の値が PascalCase に変換されて使われます。ネストしたクラスは、その元となった JSON キーから PascalCase 名を派生させます。user_profile なら UserProfile クラスになります。
JSON はサーバーに送信されますか?
いいえ。解析とコード生成は完全にブラウザ内で行われ、.dart ファイルもローカルで作成されてダウンロードされます。非公開の API サンプルやトークンが端末の外に出ることはありません。
JSON→Dart 変換の使い方
JSON のサンプルを、ブラウザーから出ずにすぐ使える Dart のデータクラスへ変換します。クラス・ファクトリ・キャストはすべてローカルで生成され、ペイロードがアップロードされることはありません。
- 左のエディターに JSON を貼り付けます。入力に合わせて右側に Dart コードが表示されます(300 ms のデバウンス)。
- 「Class name:」でトップレベルの名前を設定します。ルートクラス向けに PascalCase へ変換されます。
- 「Null safety」を切り替えると、null 許容フィールドに ? が付き、fromJson に null を考慮したキャストが出力されます。
- 「final」を切り替えてすべてのフィールドを不変に宣言し、結果をコピーするか .dart ファイルとしてダウンロードします。
ネストしたオブジェクトは独立したクラスになり、オブジェクト配列は List<Element> 型の要素クラスへ統合されます。@type のような無効なキーは自動改名されつつ、fromJson は元のキーを読み続けます。
関連ツール
- JSON→TypeScript変換 JSONをTypeScriptのインターフェースと型定義に即変換。ネストされたオブジェクト、配列、ユニオン型に対応。
- JSON→Go構造体変換 JSONを即座にGo構造体定義に変換。JSONを貼り付けて型、jsonタグ、omitemptyサポート付きのクリーンなGoコードを取得。
- ファイルハッシュ MD5、SHA-1、SHA-256、SHA-512ファイルハッシュをローカル計算・検証
- Chmod 計算機 無料オンラインchmod計算機でチェックボックス付きLinuxファイル権限を視覚化・計算。数値(755, 644)とシンボリック表記(rwxr-xr-x)を即座に変換。setuid、setgid、sticky bit等の特殊権限に対応。
- ASCIIコード表 10進数、16進数、8進数、2進数コード、HTMLエンティティ、文字説明を含む完全なASCII文字エンコーディングリファレンス。即座に検索・フィルタリング。
- Hexビューアー 検索、オフセットナビゲーション、仮想スクロール付きのHexダンプ形式でファイル内容を表示
- MIMEタイプ検索 ファイル拡張子からMIMEタイプを即座に検索、またはMIMEタイプから拡張子を逆引き。1000以上のエントリを収録した無料オンラインリファレンス。
- 画面解像度チェッカー 画面解像度、ビューポートサイズ、DPI、色深度をリアルタイムで検出します。