JSON型定義ツール

APIの応答や設定ファイルのJSONサンプルを貼り付けてください。その内容を表すTypeScriptのインターフェースを、入れ子のオブジェクトごとに名前を付けて書き出します。貼り付けた内容がブラウザの外に出ることはありません。

無料 ブラウザで動作 2026年11月10日火曜日確認済み

一般的なJSONのオブジェクトまたは配列です。複数の配列の項目は1つのインターフェースにまとめられます。

Root、Product、ApiResponseのような、単純な名前です。

型が別のファイルから読み込まれる場合にチェックを入れます。

結果

TypeScriptのインターフェース — コードをコピーするか、types.tsとしてダウンロードします。
宣言の数 — コードにあるインターフェースと型のエイリアスの数です。
TypeScriptのインターフェース

このツールはブラウザ内で動作します。入力した内容が当社に送信されることはありません。

使い方

  1. 一般的なJSONの値をJSONのサンプルに貼り付けます。入力すると型が表示されます。
  2. 一番外側のオブジェクトの名前を最上位のインターフェース名に入力します(例:Product)。
  3. 型が同じファイルにとどまる場合は、各宣言の前にexportを付けるのチェックを外します。
  4. TypeScriptのインターフェースのコードをコピーするか、types.tsとしてダウンロードします。

型の求め方

JSONのオブジェクトは、それぞれ1つのインターフェースになります。名前は、それを持つキーからPascalCaseで付けられます。キーfirst-nameはFirstNameになります。配列の項目は、配列のキーの単数形を使い、itemsはItemになります。名前がすでに使われている場合は、親の名前を前に付けます。

文字列、数値、真偽値は、string、number、booleanになります。nullは、number | nullのように共用体の中でnullと書かれます。値の配列は、型の後に[]が付きます。空の配列は、サンプルが中身を示さないためunknown[]になります。

キー "first-name" -> プロパティ "first-name": string;   items -> Item[]

1つの配列にある複数のサンプル

オブジェクトのリストは、1つの形として読まれます。すべての項目にあるキーは必須です。一部の項目にないキーは、疑問符を付けてオプションとして書かれます。項目によって型が違うキーは共用体になり、string、number、boolean、インターフェース、配列、nullの順に並びます。

サンプルは、そこに含まれる値だけを示します。実際のAPIが時々省くキーは、1つの例には現れないことがあるため、オプションとして示したい場合は、そのキーを持つ2つ目の項目を加えてください。

計算例:初期値のサンプル

初期値のサンプルは、5つのキーを持つ1つのオブジェクトです。ownerのキーはオブジェクトを持つため、コードにはOwnerのインターフェースがあります。itemsのキーは2つのオブジェクトの配列なので、コードにはItemのインターフェースがあります。skuとpriceのキーは両方の項目にあるため必須です。discountのキーは、1つの項目ではnull、もう1つでは数値なので、number | nullです。noteのキーは1つの項目にだけ現れるため、オプションです。

結果は3つの宣言になります:Root、Owner、Item。件数は3と表示されます。

よくある質問

フィールドに疑問符が付くのはなぜですか?

そのフィールドは、サンプルのオブジェクトのうち少なくとも1つに欠けています。実際のデータでは省かれることがあるため、TypeScriptはそれをオプションとして扱い、それを読むコードは先に確認しなければなりません。

string | numberのような共用体がフィールドに表示されるのはなぜですか?

項目によって、そのキーに違う型の値が入っています。型は、サンプルで見られたすべての型を並べるため、値を使う前に、どれであるかをコードで確認しなければなりません。

このツールは、実際のAPIのデータを確かめますか?

いいえ。貼り付けたサンプルの型を書き出すだけです。項目が1つだけのサンプルでは、後になって現れるフィールドは示せないため、可能なら複数の項目を持つ一般的な応答を使ってください。

一部のプロパティ名が引用符で囲まれるのはなぜですか?

first-nameや2faのように、単純な識別子ではない名前は、TypeScriptでは引用符で囲まなければなりません。正しい識別子である名前は、引用符なしで書かれます。

出力はJavaScriptでも使えますか?

インターフェースはTypeScriptだけのものです。コンパイル時に取り除かれるため、JavaScriptのプロジェクトでは、JSONを別の方法で確かめるか、TypeScriptのビルド工程が必要です。

出典

数値と文章の最終確認日:2026年11月10日火曜日。

当サイトの運営に必要なCookieを使用します。お客様の同意があれば、Googleは広告用Cookieを使い、パーソナライズ広告を表示します。拒否された場合も広告は表示されますが、パーソナライズはされません。