開発者

JSON → TypeScript変換

JSONオブジェクトを型付きTypeScriptインターフェースに変換。

  • 即時
  • 無料
  • プライベート(ローカル処理)
  • 登録不要

TypeScriptインターフェース

APIレスポンスを数秒で型付け

大きなJSONに対応するインターフェースを手書きする代わりに、ここに貼り付けましょう。ツールが型を再帰的に推論します:ネストしたオブジェクトを別インターフェースに、配列を型付け、オプショナルフィールドを「?」でマーク。

  1. JSONを貼り付け

    APIレスポンス、設定ファイル、任意のオブジェクト。

  2. ルートに命名

    既定は「Root」、または好きな名前。

  3. インターフェースをコピー

    .tsファイルにそのまま貼れます。

推論の例

JSONの値推論された型
"name": "Ada"name: string
"age": 36age: number
"roles": ["admin"]roles: string[]
"profile": { … }profile: Profile
(配列の一部のオブジェクトにないキー)field?: type

1つの例からの推論です:nullは絞り込み(多くは string | null のunion)、後で型を確認しましょう。すべてローカルで処理され、JSONはブラウザの外に出ません。

よくある質問

型はどう推論される?

ツールは各値を調べます:数値はnumber、文字列はstring、真偽値はboolean。オブジェクトはキー名のインターフェースに、配列は要素に応じて型付けされます(string[]、MyType[]…)。

オプショナルフィールドはどう検出される?

配列が複数のオブジェクトを含む場合、ツールはキーをマージします。一部のオブジェクトにあって全部にはないキーは「?」でオプショナルにマークされます。これは不均一なAPIデータでまさに期待される挙動です。

null値や空配列はどうなる?

null値はnull型になります(手動で string | null のような union に絞り込むことが多い)。空配列はunknown[]になります。1つの例からは要素の型を決められないためです。

結果はそのままコードに貼れる?

はい:ルートインターフェースは指定した名前(既定「Root」)、サブインターフェースはその上に宣言され、構文は有効なTypeScriptです。分かりやすくするため、ドメインに合わせてインターフェース名を変更してください。