任意のJSONオブジェクトまたは配列
デフォルト:"Root"
Go、TS、Python、またはJava
JSONを貼り付けて「生成」をクリックすると出力が表示されます
JSONを貼り付けて — Go、TypeScript、Python、Javaの型定義を瞬時に取得
任意のJSONオブジェクトまたは配列
デフォルト:"Root"
Go、TS、Python、またはJava
JSONを貼り付けて「生成」をクリックすると出力が表示されます
| JSON型 | 例 | Go | TypeScript | Python | Java |
|---|---|---|---|---|---|
| string | "hello" | string | string | str | String |
| integer | 42 | int | number | int | Integer |
| float | 3.14 | float64 | number | float | Double |
| boolean | true | bool | boolean | bool | Boolean |
| null | null | interface{} | unknown | Any | Object |
| array | [1,2,3] | []T | T[] | list[T] | List<T> |
| object | {"a":1} | struct{...} | interface{...} | @dataclass class | class{...} |
API統合が最も一般的なユースケースです:RESTまたはGraphQL APIからJSONレスポンスを受け取り、選択した言語で型付きモデルが必要になります。大規模なJSONレスポンスから手動で構造体定義を書くのは面倒でエラーが発生しやすく、100行のJSONオブジェクトを手で入力するのに30分以上かかり、1つのフィールド型の不一致がランタイムエラーを引き起こします。設定ファイル(package.json、terraform.tfstate、docker-compose.yml)も頻繁なソースです:開発者は設定データへの型安全なアクセスを求めています。コード生成パイプラインでは、シリアライゼーションコード、データベーススキーマ、またはAPIドキュメントを生成する前の最初のステップとしてJSON-to-typeツールを使用します。このツールは単一のJSON入力から4つの言語出力すべてを生成します — サインアップ不要、APIキー不要、即座に結果が得られます。
Go:フィールド名はPascalCaseを使用し、json:"field_name"構造体タグを付けます。文字列フィールドはstringを使用します。数値は明確に整数でない限りfloat64がデフォルトです。ネストされたオブジェクトはネストされた構造体型になります。構造体タグはマーシャリング/アンマーシャリング用に元のJSONキーを保持します。
TypeScript:インターフェースはPascalCaseを使用します(例:Root、Address)。null値からのオプショナルフィールドには?修飾子が付きます。配列はT[]構文を使用します。混合要素型を持つ配列にはユニオン型が生成されます。
Python:型ヒント付きの@dataclassデコレータを使用します。null許容値にはフィールドにOptional[T]が付きます。ネストされたオブジェクトはネストされたデータクラスクラスになります。from dataclasses import dataclassおよびfrom typing import List, Optionalのインポートが含まれます。
Java:プライベートフィールド、パブリックゲッター/セッター、適切なジェネリックコレクションを持つPOJO(Plain Old Java Object)クラスを生成します。配列にはList<T>、null許容プリミティブラッパーにはInteger/Double/Booleanを使用します。
JSONを貼り付けて、Goタブに切り替えます。このツールはjson:"..."タグ、ネストされた構造体型、配列用のスライス型を持つ適切なGo構造体を生成します。フィールドはPascalCaseを使用し、元のJSONキーは構造体タグに保持されます。
JSONを貼り付けた後、TypeScriptタブを選択します。null許容フィールドにはオプショナル修飾子、配列型にはT[]、ネストされたオブジェクトにはネストされたインターフェースを持つインターフェースが生成されます。
はい — 4言語すべてが同時に生成されます。Python:型ヒントとtypingからのOptional/Listを持つ@dataclass。Java:プライベートフィールド、ゲッター/セッター、ジェネリックコレクションを持つPOJO。タブを切り替えて各言語を表示します。
JSON値がマッピングされます:文字列 → string/str/String、整数 → int/number/int/Integer、浮動小数点 → float64/number/float/Double、真偽値 → bool/boolean/bool/Boolean、null → interface{}/unknown/Any/Object、配列 → 型付きコレクション、オブジェクト → ネストされた型。上の型マッピング表を参照してください。
null JSON値はオプショナル/ポインタ型を生成します:Goでは*Tまたはinterface{}、TypeScriptでは?修飾子、PythonではOptional[T]、Javaではnull許容ラッパー。一部の配列要素に存在しないフィールドは、すべての出力でオプショナルとして扱われます。