JSON → 構造体 / インターフェース / クラス

JSONを貼り付けて — Go、TypeScript、Python、Javaの型定義を瞬時に取得

← 変換ツールに戻る
1
JSONを貼り付け

任意のJSONオブジェクトまたは配列

2
ルート名を設定

デフォルト:"Root"

3
言語に合わせてコピー

Go、TS、Python、またはJava

JSONを貼り付けて「生成」をクリックすると出力が表示されます

JSON型マッピング — 各言語でのJSON型の表現

JSON型GoTypeScriptPythonJava
string"hello"stringstringstrString
integer42intnumberintInteger
float3.14float64numberfloatDouble
booleantrueboolbooleanboolBoolean
nullnullinterface{}unknownAnyObject
array[1,2,3][]TT[]list[T]List<T>
object{"a":1}struct{...}interface{...}@dataclass classclass{...}

JSONから型を生成する理由

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を使用します(例:RootAddress)。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タブに切り替えます。このツールはjson:"..."タグ、ネストされた構造体型、配列用のスライス型を持つ適切なGo構造体を生成します。フィールドはPascalCaseを使用し、元のJSONキーは構造体タグに保持されます。

JSONからTypeScriptインターフェースを生成するにはどうすればよいですか?

JSONを貼り付けた後、TypeScriptタブを選択します。null許容フィールドにはオプショナル修飾子、配列型にはT[]、ネストされたオブジェクトにはネストされたインターフェースを持つインターフェースが生成されます。

JSONからPythonデータクラスやJavaクラスを生成できますか?

はい — 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値はどうなりますか?

null JSON値はオプショナル/ポインタ型を生成します:Goでは*Tまたはinterface{}、TypeScriptでは?修飾子、PythonではOptional[T]、Javaではnull許容ラッパー。一部の配列要素に存在しないフィールドは、すべての出力でオプショナルとして扱われます。