JSON 入力
生成された Rust
JSON データを入力して Rust struct を生成します
serde と型安全性に対応した struct
JSON のデータ構造から Rust struct を生成します
JSON データを入力して Rust struct を生成します
serde と型安全性に対応した struct
この JSON→Rust 生成ツールを使って、serde サポート付きでサービスや CLI ツール向けに JSON サンプルから Rust 構造体を作成します。
ステップ 1 – JSON サンプルを貼り付ける
Import を使ってファイル、URL、サンプルデータから JSON を読み込みます。ステップ 2 – Rust 構造体のオプションを選ぶ
Struct Name を設定します(例: Root)。Option<T>)と未知の値(serde_json::Value)の扱いを決めます。ステップ 3 – 生成されたコードを確認する
Root Type Name、null の扱い、フレームワーク等のオプションを調整します。ステップ 4 – serde で構造体を使う
serde と serde_json を追加し、derive マクロを有効にします。serde_json::from_str で JSON をルート構造体へデシリアライズします。ステップ 5 – コピーまたはダウンロード
クイックヒント
Option<T> を使います。chrono 型を優先します。// JSON 入力
{
"id": 123,
"name": "Maeve Winters",
"email": "[email protected]",
"active": true,
"roles": ["admin", "editor"],
"metadata": { "plan": "pro" },
"createdAt": "2024-03-01T10:15:00Z",
"score": 99.5,
"notes": null
}
// Generated Rust structs (simplified)
use serde::{Deserialize, Serialize};
#[derive(Debug, Serialize, Deserialize)]
pub struct Metadata {
pub plan: String,
}
#[derive(Debug, Serialize, Deserialize)]
pub struct Root {
pub id: i64,
pub name: String,
pub email: Option<String>,
pub active: bool,
pub roles: Vec<String>,
pub metadata: Metadata,
pub created_at: String,
pub score: f64,
pub notes: serde_json::Value,
}この JSON→Rust 生成ツールと相性の良い JSON/スキーマ関連ツールもチェックしてください。
derive マクロ付きの Rust struct を生成し、serde によるシリアライズ/デシリアライズに対応します。null は Option で表現し、Rust の命名規則に沿います。
Serialize / Deserialize の derive を付与し、必要に応じて serde 属性でフィールド名やオプションの扱いを調整します。
JSON の null は Option<T> にマップされます。必要に応じて #[serde(skip_serializing_if = "Option::is_none")] などを利用します。
JSON 配列は Vec<T> に、ネストされたオブジェクトは別 struct にマップされます。