メインコンテンツへスキップ

JSON → TypeScript 型生成

JSONデータからTypeScriptのinterface/type定義を自動生成。ネストオブジェクト・配列・optional対応。ブラウザ完結の無料オンラインツール。

JSONデータからTypeScriptのinterface/type定義を自動生成するツールです。

JSON → TypeScript 型生成
ROOT NAME
MODE
JSONを入力してください...

// 詳細

TypeScriptの型定義とは

TypeScriptの型定義(interface/type)は、オブジェクトの構造を定義するもので、プロパティ名とその型を指定します。型定義があることでエディタの補完が効き、型安全なコードが書けるようになります。APIレスポンスの型定義は特に重要です。

interfaceとtypeの違い

interfaceは拡張(extends)が可能で、同名のinterfaceは自動的にマージされます。typeはユニオン型やタプル型など、より柔軟な型表現が可能です。オブジェクトの形状定義にはinterface、複雑な型操作にはtypeが一般的に使われます。

型推論のルール

本ツールでは、文字列→string、数値→number、真偽値→boolean、null→null、配列→T[](全要素同一型)または(T|U)[](混合型)、空配列→unknown[]、オブジェクト→別interfaceとして生成、の規則で型推論を行います。配列内オブジェクトは全要素のキーをマージし、一部にないキーはoptional(?)として扱います。

// FAQ

JSON→TypeScript型生成とは何ですか?
JSONデータの構造を解析し、対応するTypeScriptのinterface(またはtype)定義を自動生成するツールです。手動で型定義を書く手間を省けます。
ネストされたJSONにも対応していますか?
はい、ネストされたオブジェクトは再帰的に解析され、それぞれ別のinterface/typeとして生成されます。配列内のオブジェクトも同様に処理されます。
データはサーバーに送信されますか?
いいえ、すべての処理はブラウザ内で完結します。入力データがサーバーに送信されることはありません。
interfaceとtypeはどちらを使うべきですか?
一般的に、オブジェクトの形状定義にはinterfaceが推奨されます。ユニオン型や複雑な型操作が必要な場合はtypeを使います。本ツールではどちらも生成可能です。
配列の型はどのように推論されますか?
全要素が同一型なら T[] として生成されます。異なる型が混在する場合は (T | U)[] のようなユニオン配列型になります。空配列は unknown[] になります。

// 使い方

  1. JSONを入力

    左側の入力欄にJSONデータを貼り付けるか入力します。

  2. オプションを設定

    ルート名(デフォルト "Root")と出力形式(interface/type)を選択します。

  3. 結果を確認

    右側にTypeScriptの型定義がリアルタイムで表示されます。COPYボタンでクリップボードにコピーできます。