本文へスキップ
ToolMug

JSON → Rust 構造体 変換ツール

JSON を貼り付けると、serde_json ですぐに使える Rust の構造体を生成します。フィールドは snake_case で、必要に応じて rename 属性が付きます。省略可能な値や null になる値は Option になり、ネストしたオブジェクトは個別の構造体になります。

ブラウザ内で動作 — 入力した内容はアップロードされません

使い方

  1. JSON のサンプルを貼り付けるか、「サンプルを読み込む」をクリックします。
  2. ルートの構造体の名前を設定します。
  3. コードをコピーまたはダウンロードします。Cargo.toml には derive フィーチャーを有効にした serde と、serde_json を追加してください。

オプションの説明

ルート型の名前
最上位の構造体の名前です。ネストした構造体はキーの名前から命名されます。

例

{"userName": "ada", "type": "admin"} は次のようになります:

#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Root {
    #[serde(rename = "userName")]
    pub user_name: String,
    pub r#type: String,
}

よくある質問

どのクレートが必要ですか?

derive フィーチャーを有効にした serde と、解析用の serde_json です。型を推測できない値には serde_json::Value が使われます。

Rust の予約語はどう扱われますか?

type などのキーは生識別子(r#type)になります。serde が r# の接頭辞を取り除くので、rename は必要ありません。

どの数値型が使われますか?

整数には i64、小数を含む数値には f64 が使われます。

JSON はアップロードされますか?

いいえ。型はブラウザ内で生成されるため、実データを含む API レスポンスも端末の外に出ません。

プライバシー

このツールはすべてブラウザ内で動作します。ファイルやテキストはお使いの端末上で処理され、当サイトのサーバーにアップロードされることはありません。

関連ツール