JSON to Codeジェネレーター:Go・Rust・TS

サンプルのペイロードをGo・Rust・TypeScript・Pythonの型付き構造体に即座に変換するJSON to Codeジェネレーター。

JSONはすべてブラウザ内で解析・コード変換されるため、サーバーへ何もアップロードされません。

開発・運営:Udit Agarwal

TypeScriptの型だけが必要ですか?JSON to TypeScriptコンバーターをお試しください。

JSON からコード について

このJSON to Codeジェネレーターは、サンプルのJSONペイロードを、Go・Rust・Python・TypeScript・Java・Kotlin・C#のすぐ使える型定義に変換します。APIレスポンスを貼り付けるだけで、JSON to Go構造体、JSON to TypeScriptインターフェース、JSON to Rust serdeモデル、JSON to Python dataclassやPydanticモデル、JSON to Javaクラスを即座に得られます。フィールド型を推論し、オプショナルなキーを示し、ネストした構造体に名前を付け、オブジェクトの配列を扱うため、ボイラープレートを手書きする時間が減ります。ターゲット言語を選び、ルート型名を設定し、結果をコピーまたはダウンロードします。JSONから素早く型を生成したいバックエンド・フロントエンドの開発者、API連携者、QAエンジニアのために作られています。すべてはブラウザ内でローカルに処理されるため、データが端末から外に出ることはありません。

機能

  • 8つのターゲットの型を生成:Go・Rust(serde)・Python dataclass・Pydantic・TypeScript・Java・Kotlin・C#
  • プリミティブ型を推論し、整数と浮動小数点数を区別
  • ネストしたオブジェクトを検出し、それぞれに独立した名前付き構造体を生成
  • オブジェクトの配列をキーをまとめて扱い、一部の項目にないフィールドをオプショナルとして示す
  • GoのjsonタグやRustのderive(Serialize, Deserialize)など、言語に適したシリアライズ用注釈を追加
  • 生成されるクラスとダウンロードファイル名を決めるカスタムルート型名を設定可能
  • JSONのパースエラーを行と列とともに報告し、不正な入力を修正可能に
  • 出力をコピーするか、各言語に合った拡張子でダウンロード

JSON からコード の使い方

  1. JSONオブジェクトまたはオブジェクトの配列を入力ボックスに貼り付けます。
  2. ドロップダウンからGo・TypeScript・Rust(serde)などのターゲット言語を選びます。
  3. 「ルート名」フィールドでトップレベル型に名前を付けます。
  4. 出力パネルで生成されたコードを確認し、パースエラーメッセージがあればチェックします。
  5. コードをコピーするか、対応する言語の拡張子でファイルとしてダウンロードします。

例

入力

{ "id": 1, "name": "Ada", "active": true }

出力

export interface Root {
  id: number;
  name: string;
  active: boolean;
}

JSONを、ルート型をRootと名付けたTypeScriptインターフェースに変換した例。

よくあるエラーとトラブルシューティング

  • ツールが行と列の番号を伴うパースエラーを報告する。 — JSONが不正です。末尾のカンマ・シングルクォート・引用符のないキーを確認し、生成前に入力が厳密なJSONであることを確かめてください。
  • 「Top-level JSON must be an object or an array of objects.」が表示される。 — 裸の値をオブジェクトで包むか、オブジェクトまたはオブジェクトの配列を渡してください。トップレベルの文字列・数値・真偽値は型にできません。
  • 整数の数値が int や number になるが、浮動小数点を期待していた。 — 型推論はサンプル値に基づくため、9は整数、9.5は浮動小数点になります。本当に浮動小数点なら、サンプルに小数点を含めてください。
  • フィールドが予期せずオプショナルとして示される。 — オブジェクトの配列を渡すと、一部の項目にないキーはオプショナルとして扱われます。必須にしたい場合は、すべての項目にそのキーを含めてください。
  • 空の配列が any や unknown の要素型を生成する。 — ジェネレーターは空の配列から要素型を推論できません。要素型を検出できるよう、代表的な要素を少なくとも1つ含めてください。

よくある質問

JSON to Codeジェネレーターとは何ですか。
サンプルのJSONペイロードを読み取り、Go・Rust(serde)・Python dataclass・Pydantic・TypeScript・Java・Kotlin・C#の対応する型定義を書き出す、ブラウザ内で動作するツールで、型付きモデルをそのままプロジェクトに組み込めます。
JSONからGo構造体やTypeScriptインターフェースを生成するには。
JSONを貼り付け、言語ドロップダウンからGoまたはTypeScriptを選び、「ルート名」を設定し、生成された構造体やインターフェースをコピーまたはダウンロードします。出力は入力中に更新されます。
JSON to Codeはネストしたオブジェクトや配列をどう扱いますか。
各ネストオブジェクトは独自の名前付き構造体やクラスになり、オブジェクトの配列は要素型がすべてのキーを捉えるようにまとめられます。一部の配列項目にないキーはオプショナルとして示されます。
トップレベルのJSON配列を変換できますか。
はい。トップレベルのオブジェクトの配列に対応しています。ツールは要素型に加えて、Goの type Root = []Item やTypeScriptの export type Root = Item[] のようなRootエイリアスを生成します。
生成される型でオプショナルなフィールドはどう決まりますか。
配列に複数のオブジェクトを与えると、すべてのオブジェクトに現れないキーはオプショナルとして扱われ、ターゲット言語でnullableまたはオプショナルとして出力されます。
コードを生成するとき、JSONはどこかに送信されますか。
いいえ。JSON to Codeジェネレーターは完全にブラウザ内で動作し、データが端末から外に出ることはありません。

関連ツール

JSONの他のツール

JSONのツールをすべて見る (29) · すべてのツール