JSONからRustへの変換
Serdeサポート付きでJSONをRust structに変換
JSON入力
Rust出力
JSONからRustへの変換とは?
RustのstructをJSON(JavaScript Object Notation)データから生成したいですか?このツールで即座に変換できます。JSONを強く型付けされたRust structにデシリアライズする必要があるRust開発者に最適です。適切な型、Serdeの統合、nullable フィールドのOption型、Rustのベストプラクティスを備えたモデルstructを自動で生成します。
Rustドキュメントによると、SerdeはRustで最も広く使われているシリアライゼーションフレームワークです。当コンバーターはJSONの構造を解析し、Serdeのderiveマクロ、nullableな値のためのOption型、snake_caseフィールド命名規則を備えた適切なRust structを生成します。まずJSONバリデーターでJSONを検証し、その後Rustに変換してください。必要であれば先にJSONフォーマッターで整形することもできます。
すべてブラウザ内で処理されます。あなたのJSONはコンピューターの外に出ることはありません。変換・ダウンロードして、生成したRust structをすぐにプロジェクトで活用できます。
JSONからRustへの使い方
JSONをRust structに変換するには以下の手順に従ってください。各ステップはこのページ上の実際のボタンとパネルを使用します。
貼り付け・アップロード・サンプル読み込み
JSONを左側のJSON入力パネルに貼り付けるか、アップロードをクリックして .json または .txt ファイルを読み込んでください。サンプルをクリックするとサンプルJSONを確認できます。入力例:
{"subscriberId":"SUB-1001","plan":"Unlimited 5G","dataUsage":45.2,"status":"active"}無効なJSONはエラーになります。不明な場合は先にJSONバリデーターをご利用ください。上部のオプションでstruct名の設定、Serdeの有効化、Option型の選択ができます。
生成されたRust出力を確認
右側のRust出力パネルに生成されたRust structが即座に表示されます。ネストされた各オブジェクトは独立したstructになります。フィールドはRustの慣習であるsnake_case命名規則を使用します。Serdeのderiveマクロがシリアライズ・デシリアライズのために含まれます。JSONが有効であればRustコードが生成され、無効であればエラーが表示されます。
コピー・ダウンロード・調整
コピーをクリックしてRustコードをクリップボードにコピーするか、ダウンロードで .rs ファイルとして保存できます。Serdeの切り替えやnullableフィールドのOption型有効化など、オプションを変更すると出力が即座に更新されます。クリアで最初からやり直せます。
よくある質問
JSONデータは保存されますか?
いいえ。すべてのコード生成はブラウザ内のJavaScriptで行われます。JSONデータがコンピューターの外に出ることはありません。
どのバージョンのRustに対応していますか?
当コンバーターはRust 1.56以降に対応したコードを生成します。生成コードはSerdeのderiveマクロとOption型の適切な処理を備えた現代的なRustの慣習に従っています。
プロジェクトにSerdeを追加する必要がありますか?
オプションでSerdeを有効にした場合、Cargo.tomlにserdeとserde_jsonを追加する必要があります。serdeの「derive」フィーチャーを有効にしてください。生成コードには必要なderiveマクロとimportが含まれています。
Option型とは何ですか?
RustにおけるOptionは、値が存在するかもしれないし存在しないかもしれないことを表します。「Option型」を有効にすると、オプションのJSONフィールドをOptionでラップします。これはnull値を含む可能性がある実際のJSONに推奨されます。
フィールド名はどのように処理されますか?
JSONフィールド名はRustの慣習であるsnake_caseに自動変換されます。JSONフィールドの名前変更が不要な場合はstructフィールドがそのまま使用されます。必要に応じてSerde の#[serde(rename)]属性が追加されます。
Webサービスにも使えますか?
もちろんです。このツールはActix、Rocket、Axumなどのフレームワークを使ったWebサービスに最適です。生成されたstructはこれらのフレームワークでのリクエスト・レスポンス処理にシームレスに対応します。
他に必要なJSONツール
Rustへの変換はJSONタスクのひとつに過ぎません。組み合わせて使える他のツールも紹介します: