JSONからTypeScript型変換
sample JSONを貼ると、nested objectやarrayを含むTypeScript typeへ変換します。evalは使わず、browser内でparseします。
API responseの型下書きを作る
sampleに現れた値だけから型を推論します。生成後はoptional propertyやunionを実際のschemaに合わせて見直してください。
ツール本体
入力・操作・結果
上から入力し、必要な操作を行って、表示された結果と次の操作を確認してください。
入力データは原則ブラウザ内で処理し、URLやアクセス解析へ保存しません。ページを更新すると入力は失われます。機密情報は入力しないでください。
使い方
- 有効なJSON sampleを貼ります。
- root type名を指定して変換します。
- 出力をcopyし、API仕様と照合します。
例:{"user-id":1,"active":true} はquoted keyを持つ有効なtypeになります。
このツールを使う場面
- 確認できること
- API response sampleからTypeScript型の下書きを作れます。
- 使う前に見るポイント
- commentを含まない有効なJSONとroot type名を用意します。
- 結果を見たあとにやること
- optional、null、unionを実際のAPI schemaと照合して補います。
つまずきやすいポイント
sampleを完全なschemaと思う
現れないnullやoptional propertyは推論できません。
空arrayの要素型を決めつける
空arrayはunknown[]になります。
境界値・事前チェック項目
identifierでないkey
hyphenや空白を含むkeyはJSON quoteしたproperty名にします。
深いnest
30 levelを超える入力は停止します。
よくあるミスと回避策
JavaScript objectを貼る
commentやsingle quoteを含まないJSONが必要です。
runtime validationと混同
TypeScript type生成だけで入力検証codeは作りません。
FAQ
interfaceではなくtypeですか?
rootにtype aliasを生成し、nested objectはinline typeとして表現します。
複数種類のarray要素は?
sample内で見つかった型をunionとして並べます。
JSONは送信されますか?
いいえ。JSON.parseと型生成はbrowser内で実行します。
基本FAQ
入力データは外部へ送信されますか?
原則として送信されません。入力内容はブラウザ内で処理し、URLやアクセス解析へ保存しません。例外がある場合は各ツールページ内に明記しています。
入力内容は自動保存されますか?
原則として自動保存しません。ページを更新すると入力は失われます。コピーやダウンロードで保存する場合は、ご利用端末内に保存されます。
CSV・JSONの前処理・変換フロー
CSV崩れ確認・ゼロ落ち対策・相互変換・表確認をつなぐファミリーです。
関連ツール
同じ作業の前後で使うことがあるツールです。