開発・デバッグ支援
JSON → Rust変換
JSONサンプルからserde対応のRust struct定義を自動生成します。ネストしたObjectやArrayにも対応し、処理はブラウザ内で完結します。
入力データはサーバーへ送信されませんインストール不要無料で使えます
生成される型定義は、入力したサンプルJSONからの推論結果です。実際のAPI仕様(省略可能な項目・nullになり得る項目・数値の範囲など)を保証するものではありません。生成後は必要に応じて見直してください。
Rustコード
JSONを入力して「生成」を押してください。
このツールでできること
JSON → Rust変換の主な機能です。
- JSONサンプルからserde対応のRust structを自動生成できます
- JSONキーとRustの命名規則が異なる場合にserde renameを自動付与します元のJSONキーを保持します
- ネストしたObjectを個別のstructとして分離できます
- Array・Object配列・型混在配列を推論できます
- 生成結果をワンクリックでコピーできます
手順を見る
- JSONを貼り付けます
- 必要に応じてルートstruct名を指定します既定は「Root」です
- 「生成」を押します
- 結果を確認し、「コピー」でクリップボードへコピーします
こんなときに使えます
こんな場面でJSON → Rust変換が役立ちます。
利用シーンを見る
- Rustでserdeを使ったJSONデシリアライズ用structを作りたいとき
- APIレスポンスのJSONからRustの型定義を素早く用意したいとき
- JSONキーとRustの命名規則(snake_case)が異なる場合にrename属性を自動付与したいとき
詳しい解説
詳しい解説を見る
型推論のルール
JSONの値をString・bool・整数(i64)・小数(f64)・struct・Vec<T>へ推論します。型混在配列・null単独の値・非常に大きな整数(i64の範囲を超える値)は serde_json::Value として出力します(根拠のない具体型を生成しません)。
serde renameとフィールド名
JSONキーはsnake_caseのフィールド名へ変換し、元のキーと異なる場合は#[serde(rename = "...")]で元のキーを保持します。
よくある質問
structにpubが付くのはなぜですか?
APIレスポンスモデルとして呼び出し元のコードから使いやすくするため、フィールド・structともにpublicで出力しています。
selfやtypeのようなRustの予約語をキーに含むJSONはどうなりますか?
raw identifier(r#)化できる予約語はr#を付けて出力します。self・Self・super・crateのようにraw identifier化できない語は、別の識別子へ変換し、serde renameで元のキーを保持します。
入力したJSONはサーバーへ送信されますか?
いいえ。型生成処理はすべてブラウザ内で完結しており、入力内容がサーバーへ送信されることはありません。