JSON→TypeScript型 変換

APIのレスポンスなどのJSONを貼り付けると、TypeScriptの型定義(interface / type)を作ります。入れ子のオブジェクトは別の型に分け、配列の中で一部の要素にしかないキーは省略可能(?)にします。

書き方

TypeScript


      

変換のルール

JSON→TypeScript型 変換でできること

APIのレスポンスなどのJSONを貼り付けて、TypeScriptの型定義(interface または type)を作るツールです。手で型を書く手間を省き、入れ子のオブジェクトや配列の要素の型をまとめて確認できます。

使い方

  1. 左の「JSON」欄にJSONを貼り付けます(開いた時点では例の注文データが入っています)。書き方が崩れているときは「整形」で読みやすくできます。
  2. 上の「ルートの型名」に一番外側の型の名前を入れ、「書き方」で interface か type を選びます。必要に応じて「export をつける」「readonly にする」「すべてのキーを引用符で囲む」を切り替えます。
  3. JSONに誤りがあると、何行目・何文字目の何が問題かを日本語で表示するので、その場所を直します。
  4. 右の「TypeScript」に出た型を確認し、「コピー」でエディタに貼り付けます。

計算の仕組みと注意点

よくある質問

APIのレスポンスからTypeScriptの型を自動で作るには?

レスポンスのJSONをそのまま左の欄に貼り付けると、すぐに interface が作られます。ルートの型名を変えて「コピー」を押せば、そのままコードに貼り付けられます。

interface と type のどちらで出力すればいい?

オブジェクトの形を表すだけならどちらでも同じように使えます。チームやプロジェクトの書き方に合わせて「書き方」を切り替えてください。interface は同じ名前で宣言を足せる、type はユニオン型などにも使える、という違いがあります。

配列の要素によってキーがあったりなかったりする場合は?

配列の全要素をまとめて1つの型にし、一部の要素にしかないキーには ? をつけて省略可能にします。例のJSONでは items の options と giftWrap がそうなっているので、出力で確かめられます。

JSONのエラーで変換できない

末尾のカンマ、シングルクォート、コメント、キーの引用符の付け忘れはJSONでは使えません。エラー表示に出る行と文字の位置、^ の印を見て直すと、自動で型を作り直します。