メインコンテンツへ移動
ToolShed
検索
⌘
K
人気
新着ツール
?
読み込み中...
🏠
探す
☰
カテゴリ
🔥
人気
?
について
ホーム
/
開発・コード変換
/
JSON→Rust Struct
{}
JSON→Rust Struct
dev/json-to-rust
JSONデータからRust構造体(serde対応)を自動生成。Derive属性付きコードを出力。
最終更新日
2026-07-03
・ by
yuzlrin
このツールでできること
JSON
→Rust Structでは、JSONデータからRust構造体(serde対応)を自動生成。Derive属性付きコードを出力。
関連する観点として
JSON
Rust変換、serde、JSON→Rust Struct を確認し、結果をコピーして別の作業に使えます。
構造体名
JSON
Rust 構造体
コピー
使い方
「構造体名」にルートstruct名を入力します。初期値はRootです。
「
JSON
」欄へJSONオブジェクト、または先頭要素を使う配列を貼り付けます。
結果欄でuse serde行、derive属性、pub struct定義を確認します。
Rustフィールド名はsnake_case化され、元キーと違う場合は#[serde(rename = "...")]が付きます。
入力例・出力例
INPUT
{"userName":"Ada","retry-count":3,"active":true,"meta":{"last seen":"today"},"values":[1],"none":null}
OUTPUT
use serde::{Serialize, Deserialize}; #[derive(Debug, Serialize, Deserialize)] pub struct Root { #[serde(rename = "userName")] pub user_name: String, #[serde(rename = "retry-count")] pub retry_count: i64, pub active: bool, pub meta: Meta, pub values: Vec<i64>, pub none: Option<serde_json::Value>, } #[derive(Debug, Serialize, Deserialize)] pub struct Meta { #[serde(rename = "last seen")] pub last_seen: String, }
キー名をsnake_caseへ変えたフィールドにはserde(rename)が追加されます。
よくある利用シーン
serde_
json
で読むレスポンス例から、Deserialize用structの初期案を作りたいとき。
camelCase、ハイフン、空白を含む
JSON
キーにrename属性が必要か確認したいとき。
nullや空配列がserde_
json
::Value系になる箇所を見つけ、後で具体型へ直したいとき。
結果確認のポイント
構文、引用符、改行、エスケープが利用先の仕様に合っているか確認してください。
JSON
Rust変換、serde、JSON→Rust Structの観点で、入力内容と出力内容がずれていないか見直してください。
コピーした結果を利用先に貼り付けたあと、改行や記号が変わっていないかも確認してください。
注意点
本番の秘密情報、APIキー、パスワードは入力しないでください。
結果を公開・送信する前に、用途に合う形式かを必ず確認してください。
データの扱い / プライバシー
JSON
→Rust Structの主要な処理はブラウザ内で実行されます。
入力内容を保存するアカウント機能はなく、ページを閉じると作業内容は手元のブラウザから離れます。
本番の秘密情報や個人情報を扱う場合は、入力前に必要性を確認してください。
FAQ
よくある
質問
serde対応のRust構造体はどのようなDerive属性が付与されますか?
#[derive(Debug, Serialize, Deserialize)] が構造体に付与されます。serdeクレートのSerialize/Deserializeを使うためCargo.tomlにserde = { version = "1", features = ["derive"] }とserde_jsonの依存関係を追加してください。
JSONの各型はRustのどの型にマッピングされますか?
string→String、整数→i64、小数→f64、真偽値→bool、配列→Vec<T>(Tは要素型)、オブジェクト→ネストしたstruct、null→Option<T> として推定されます。JSONキーのスネークケースへの変換が必要な場合は #[serde(rename = "originalKey")] または #[serde(rename_all = "camelCase")] が付与されます。
serde_jsonのfrom_str()で直接デシリアライズできますか?
はい。生成した構造体はserde_json::from_str::<StructName>(json_str) でそのままデシリアライズできます。JSONキーと構造体フィールド名が異なる場合は #[serde(rename)] 属性でマッピングが解決されます。
関連ツール
JSON整形ツール
JSONの整形(Pretty Print)・圧縮・バリデーション・ツリービュー表示。構文エラーの位置表示、YAML変換にも対応。
正規表現テスター
正規表現のリアルタイムテスト。マッチ箇所のハイライト、グループキャプチャ表示、よく使うパターンのチートシート付き。
CSV→JSON変換
CSVファイル・テキストをJSON形式に変換。配列/オブジェクト形式の選択、ヘッダー行の自動認識にも対応。
JSON→CSV変換
JSONデータをCSV形式に変換。配列やネストしたJSONにも対応。
UUID生成ツール
UUID v4をワンクリックで生成。ハイフンなし、大文字、小文字など各種フォーマット対応。一括100個まで生成可能。
タイムスタンプ変換
UNIXタイムスタンプと人間が読める日時形式を相互変換。秒・ミリ秒に対応(マイクロ秒・ナノ秒は非対応)。ログ解析やAPI開発のデバッグに。
ASCIIコード表
ASCIIコード(0-127)の文字・10進数・16進数・2進数の一覧表。
アクセシビリティチェックリスト
Webアクセシビリティ(WCAG 2.1)の主要チェック項目を一覧表示する。