JSON から Rust
JSON から Serde 属性付きの Rust 構造体を生成
JSON を貼り付けるか例を読み込むと、Rust のコードを生成します。
JSON to Rust が生成するもの
JSON to Rust は API レスポンスや任意の JSON サンプルを Rust の構造体に変換します。Serde をオンにすると、各構造体は Serialize と Deserialize を derive します。自動の名前変更では Serde 自体のケース規則を確認し、その構造体のすべてのキーを再現できる場合にのみ #[serde(rename_all = "camelCase")](または別の規則)を追加します。合わないキーには #[serde(rename = "...")] が付きます。省略可能なフィールドには #[serde(default, skip_serializing_if = "Option::is_none")] が付くため、書き戻すときも省略されたままになります。
使い方
- 1.JSON を貼り付けるか、.json ファイルをアップロードまたはドロップするか、例を読み込みます。
- 2.ルート構造体名を設定し、Debug、Clone、Serde の derive を選びます。
- 3.自動の名前変更、固定の規則、フィールドごとの名前変更のみのいずれかを選びます。
- 4.出力の下の注意を読んでから、コードをコピーするか models.rs をダウンロードします。
型の推論方法
- •最初の要素だけでなく配列のすべての要素を確認し、同じ配列内のオブジェクトは統合します。
- •一部のオブジェクトにないキーは省略可能、ときどき null になるキーは null 許容になります。この 2 つは区別して扱います。
- •同じ位置にある 1 と 2.5 は小数に拡張され、それ以外の混在は報告されます。
- •空の配列や常に null の値には型の手がかりがないため、汎用的な型を使用し、その理由を注意で説明します。
- •型の対応:string → String、整数 → i64(それを超える場合は u64 または serde_json::Value)、小数 → f64、真偽値 → bool、配列 → Vec<T>、オブジェクト → struct、欠けているか null → Option<T>、不明または混在 → serde_json::Value。
制限とプライバシー
サンプルはある時点でのデータの形を示すだけで、API の完全な仕様ではありません。コードを使う前に、省略可能なフィールド、汎用的な型、数値の幅を確認してください。入力は 5 MB、入れ子 256 階層までです。2 MB 以上の場合は「生成」ボタンを押すまで生成されません。処理はすべてブラウザー内で行われ、JSON がアップロードされることはありません。汎用的な値には、Serde の derive がオフでも serde_json クレートが必要です。
