JSON to TypeScript

JSON サンプルから TypeScript の interface や type を生成します。

データとフォーマット
ワークスペースを準備中…
入力
出力
結果はここに表示されます。

使い方

  1. テキストを貼り付け、UTF-8 ファイルを開くか、サンプルを試してください。
  2. 入力と設定を選び、実行するか自動実行を有効にしてください。
  3. 結果を確認してコピー・保存します。入力を変えると前の結果は無効になります。

JSON to TypeScript

JSON サンプルから TypeScript の interface や type を生成します。

処理はブラウザー内で完結し、入力は DevToolsy に送信されません。

仕組み

ネストしたオブジェクトは名前付きの型になります。配列内のオブジェクトを統合し、欠けたプロパティは省略可能、混在した値はユニオン型にします。空配列は unknown[] です。

変換前と変換後
入力
{"project":"DevToolsy","members":[{"name":"Ada","role":"developer"},{"name":"Lin","active":true}],"tags":["web","tools"]}
出力
export interface Root {
  project: string;
  members: RootMembersItem[];
  tags: string[];
}

export interface RootMembersItem {
  name: string;
  role?: string;
  active?: boolean;
}

JSON サンプルから TypeScript の interface や type を生成します。

オプションとデータの保持

ルート型名、interface / type、readonly、省略可能なプロパティを選べます。文字列はリテラル型ではなく string になります。

結果の利用

1 つのサンプルでは全ケースを表せません。null、欠落フィールド、数値精度を確認し、実行時検証を別途追加してください。

結果を確認してコピー・保存します。入力を変えると前の結果は無効になります。

処理の制限

UTF-8 入力は各文書 1 MiB、出力は 8 MiB まで。JSONPath と Schema は 5 秒、その他は 30 秒でタイムアウト。

?

よくある質問

オブジェクトや配列はどう推論されますか?

ネストしたオブジェクトは名前付きの型になります。配列内のオブジェクトを統合し、欠けたプロパティは省略可能、混在した値はユニオン型にします。空配列は unknown[] です。

どの TypeScript 設定を変更できますか?

ルート型名、interface / type、readonly、省略可能なプロパティを選べます。文字列はリテラル型ではなく string になります。

将来の API レスポンスも検証できますか?

できません。1 つのサンプルでは全ケースを表せません。null、欠落フィールド、数値精度を確認し、実行時検証を別途追加してください。

入力はアップロードされますか?

処理はブラウザー内で完結し、入力は DevToolsy に送信されません。

ローカルファイルを開けますか?

UTF-8 入力は最大 1 MiB · 出力は最大 8 MiB

次に使うツールを探す

言語

言語を切り替えますか?現在の作業内容が消去されます。先に必要な内容をコピーまたはダウンロードしてください。