Cookie の使用について.本サイトでは、基本機能の提供に必要な必須 Cookie を使用しています。さらに、同意いただいた場合に限り、アクセス解析 Cookie を利用して利用状況を把握し、サービス改善に役立てます。詳しくは .
このツールは使いやすかったですか?
フィードバックは改善に役立ちます
将JSON数据自动转换为Rust结构体(struct)代码,用于API对接、数据处理和模型定义。
概要
解決できる課題、処理の仕組み、データの範囲を確認できます。
このツールはJSONのサンプルを読み取り、対応するRustの構造体コードを生成します。JSONはオブジェクトや配列の中に文字列・数値・真偽値・nullなどを持てるデータ形式です。Rustのstructは、名前の付いたフィールドと型をまとめてデータを表します。したがって、変換結果は入力サンプルに現れた値や入れ子の形をもとにした型のたたき台です。JSON形式の定義はIETF RFC 8259、structの基本はRust公式書籍を参照できます。
たとえば、文字列の名前、整数の番号、オブジェクトの住所を含むJSONなら、文字列・数値のフィールドと入れ子の型が出力されます。サンプルにない項目や、別の応答で値の型が変わる可能性までは読み取れません。複数の応答形があるAPIでは、実際の仕様と照らして型を整えてください。
ルート型名を入力でき、Rust固有の設定ではコードの密度、型の可視性(private、crate、public)を選べます。Debug、Clone、PartialEqのderiveを切り替えられ、Option値をシリアライズ時に省略する設定もあります。詳細設定には列挙型、日時、UUID、マップなどの推論項目もあります。出力は画面で確認でき、コピーまたは.rsファイルとしてダウンロードできます。
Serdeのderiveを使う場合は、プロジェクト側にもSerdeの依存設定が必要です。詳しくはSerde公式のderive説明を確認してください。
使い方
手順に沿って操作し、例を使って入力と結果を確認します。
入力欄にオブジェクトまたは配列のJSONを貼り付けます。サンプルボタンで例を読み込むこともできます。フォーマットで整形し、JSONとして解析できる形か確認します。
ルート型名をプロジェクトの命名に合わせます。必要なら詳細設定を開き、可視性、derive、Noneのシリアライズ省略や推論オプションを調整します。設定や入力を変えると出力も更新されます。
生成されたstructと入れ子の型を読み、フィールド名・型・属性を確認します。問題がなければコピーするか.rsで保存し、実際のRustプロジェクトで依存関係とともにビルドして確かめます。
活用例
仕事や日常の流れの中での活用方法を紹介します。
RustでAPI応答を扱う開発者が、機密情報を除いた代表JSONを入力して初期モデルを作ります。成功・エラー・ページングなど応答の種類ごとに仕様を確認し、必要な型やフィールドを補います。
JSON設定ファイルをRustで読み込む前に、サンプルから入れ子の構造を起こせます。任意項目の扱いや初期値は設定ファイルのルールに合わせて手動で追加します。
Q&A
よくある疑問や迷いやすい点をまとめて確認できます。
入力サンプルと選択した推論設定に基づく出力を確認してください。JSONのnullと、キー自体が存在しない状態は同じ意味とは限りません。フィールドの欠落も許容する必要があるか、API仕様に沿ってOptionやSerde属性を調整します。
配列もJSONとして入力できます。配列要素がオブジェクトなら、その要素の形から型が推論されます。空配列や要素の型が混在する配列は十分な型情報がない場合があるため、実データに近いサンプルで出力を確認してください。
プロジェクトのRustバージョン、依存クレート、モジュール構成に合うかは別途確認が必要です。Serdeのderiveを含む場合はSerdeの設定を用意し、プロジェクト内でコンパイルして調整してください。
注意
利用範囲、結果の制限、必要な注意点を事前に確認します。
出力は入力したサンプルから型を推定したコード案であり、APIの完全なスキーマや将来の応答を保証しません。数値の範囲、キーの欠落・null、配列要素の揺れ、フィールド名の対応を仕様書や追加サンプルと照合してください。依存関係を含むビルドもプロジェクト側で確認してください。入力には公開して差し支えないサンプルを使い、秘密情報や個人データを含む実データは貼り付けないでください。
関連
関連ツール、特集、利用可能なAPIを探せます。