本文へスキップ
grsytools.jp

提出前・共有前の実務チェック

JSONからTypeScript型変換

sample JSONを貼ると、nested objectやarrayを含むTypeScript typeへ変換します。evalは使わず、browser内でparseします。

API responseの型下書きを作る

sampleに現れた値だけから型を推論します。生成後はoptional propertyやunionを実際のschemaに合わせて見直してください。

ツール本体

入力・操作・結果

上から入力し、必要な操作を行って、表示された結果と次の操作を確認してください。

入力データは原則ブラウザ内で処理し、URLやアクセス解析へ保存しません。ページを更新すると入力は失われます。機密情報は入力しないでください。

使い方

  1. 有効なJSON sampleを貼ります。
  2. root type名を指定して変換します。
  3. 出力を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崩れ確認・ゼロ落ち対策・相互変換・表確認をつなぐファミリーです。

同じ作業の前後で使うことがあるツールです。