JSON入力

Dart出力

JSONをDartとは?

Dartは構造化データにクラスを使用します。FlutterやDartアプリでJSONを消費する際、正しいフィールド名と型の一致するクラスが必要です。JSON仕様はオブジェクト、配列、文字列、数値、真偽値を定義しますが、Dartは各ネストオブジェクトに明示的なクラス定義が必要です。

このツールはJSONからDartクラスを生成します。fromJson/toJsonメソッド用にJsonSerializableを有効にしてください。オプションフィールドにはNull許容型を有効にしてください。出力はjson.decode()json.encode()で動作します。

変換は完全にブラウザ内で実行されます。JSONはサーバーに送信されません。

JSONをDartが役立つ場面

REST APIを消費するFlutterやDartアプリを構築する際、型付きクラスが必要です。サンプルレスポンスをここに貼り付けて一致するクラスを生成してください。

このツールの使い方

1

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

JSONをコピーして左のエディターに貼り付けてください。ファイルを読み込むにはアップロードをクリックしてください。サンプルデータにはサンプルボタンを使用してください。設定パネルでクラス名とオプションを設定してください。

2

生成されたクラスを確認

右のパネルに生成されたDartクラスが表示されます。ネストされたオブジェクトは別のクラスになります。配列は<code>List&lt;T&gt;</code>になります。JSONの構文が無効な場合は、まずJSONフォーマッターまたはJSONバリデーターで修正してください。

3

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

コピーまたはダウンロードでコードを取得してください。FlutterまたはDartプロジェクトに貼り付けてください。

JSONをDartの例

JSONオブジェクトからDartクラスを生成する例です。

例:加入者レコード

JSON入力:

入力

生成されたDart出力:

出力

JSONをDartが役立つ場面

ほとんどの開発者はREST APIとの統合時にこれが必要です。ここに貼り付けるとjson.decodeで即座に使える型付きクラスが得られます。

2つのJSONファイルを先にマージする必要がある場合は、専用のJSONマージツールがあります。

データベースエクスポート、設定ファイル、APIレスポンスはしばしばJSONです。ここで処理するとアプリ用のDartクラスを生成できます。

よくある質問

JsonSerializableと手動fromJsonの違いは?

JsonSerializableはビルド時にfromJsontoJsonを生成します。ボイラープレートを削減します。プロジェクトにjson_serializablebuild_runnerが必要です。

Null safetyは?

オプションのJSONフィールドにはNull許容型を有効にしてください。nullになり得る型に?が追加されます。

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

いいえ。生成は完全にブラウザ内で実行されます。データはサーバーに送信されません。

Flutterで使えますか?

はい。生成されたクラスはFlutterのhttpパッケージとdart:convertで動作します。自動シリアライズにはjson_serializableを追加してください。

JSONキーがsnake_caseの場合は?

Dartは通常camelCaseを使用します。カスタムJSONキー名にはフィールドに@JsonKey(name: 'json_key')を使用してください。

関連ツール

Dart JSONについてはdart:convertを、JSONについてはJSON仕様を、FlutterについてはFlutterを参照してください。