開発者向け

JSON → TypeScript型生成

JSONサンプルからTypeScriptのinterface/typeを生成。配列の異なる型・欠落項目・nullを集約。export、readonly、インライン化に対応。入力10万文字・深さ64まで。利用先で型を確認してください。

登録不要

JSONから型定義のたたき台を生成します。入力100000文字(UTF-16単位)、深さ64(ルート0)、値10000個、出力500000文字・1000型まで。入力はこのツールから送信しません。ページ・計測・広告の通信はあります。

型生成の設定

英字・数字・_・$で64文字以内。先頭の数字・予約語・Recordは使えません。

JSONを入力してください。

出力は型宣言の断片です。exportなしで独立したファイルに置く場合は、既存のimport/exportがあるモジュール内で使うか、ファイルにexport {}を追加してください。グローバルなスクリプトではArrayやNodeなどの既存の型と衝突する場合があります。同じスコープ内の型名も確認してください。

使い方と推論の範囲

各サンプルの値を集めて型を推論します。配列内で欠ける項目は省略可能、異なる型はユニオン型になります。nullのみならnull型です。nullを省略可能にしてもnull型は残します。空配列はunknown[]、空オブジェクトだけならRecord<string, unknown>です。

小型インライン化は子オブジェクトの項目数2個以下が対象です。readonlyはプロパティの再代入を制限し、配列要素を不変にはしません。配列・プリミティブのルートは常にtypeです。日付文字列はstringです。

サンプル外の値や業務上の制約は推論できません。実行時の検証・変換は行いません。numberはJavaScriptの精度・範囲を保証しません。整形は型生成の設定や型数とは独立し、JSON構文と入力・整形結果の上限で判定します。数値の原文を保持します。同一オブジェクトの重複キーは型推論では最後の値を使います。利用先で型と数値の扱いを確認してください。

JSON → TypeScript型生成について

JSONから型定義のたたき台を生成

JSONサンプルの値からTypeScriptのinterfaceまたはtypeを生成します。実行時の検証やデータ変換は行いません。サンプルにない値の範囲・業務上の制約は推論できないため、利用先で型を確認してください。

処理はブラウザ内で行い、このツールは入力JSONを送信しません。ページ・計測・広告の通信はあります。機密情報を扱う場合は利用環境も確認してください。

配列・null・空データ

配列内の全要素から型を集めます。同じ項目の型が異なればユニオン型、欠ける項目は省略可能になります。ネストしたオブジェクトも同様に集約します。nullだけの項目はnull型です。nullを省略可能にする設定でも、値としてのnullは残ります。

空配列はunknown[]、空オブジェクトのみならRecord<string, unknown>です。日付文字列はstring、数値はnumberです。JavaScriptの数値精度や範囲を保証する型ではありません。重複キーは型推論では最後の値を使います。整形は型生成の設定や型数とは独立し、JSON構文と入力・整形結果の上限で判定します。数値の原文を保持します。

出力設定と上限

interface / type、export、readonly、null項目の省略可能化、小型インライン化を選べます。配列・プリミティブのルートは常にtypeです。readonlyはプロパティの再代入を制限し、配列要素の変更を禁止する設定ではありません。子オブジェクトが2項目以下ならインライン化できます。

ルート型名は英字・数字・_・$の64文字以内で、先頭の数字・予約語・Recordは使えません。子の型名は安全な名前に調整し、重複しないよう番号を付けます。項目名の値は保持します。

出力は型宣言の断片です。exportなしの出力は既存のimport/exportがあるモジュール内で使うか、独立したファイルにexport {}を追加してください。グローバルなスクリプトではArrayやNodeなど既存の型と衝突する場合があります。同じスコープ内の型名も確認してください。

入力100000文字(UTF-16単位)、深さ64(ルート0)、値10000個、出力500000文字・1000型までです。上限超過・不正入力では部分的な型を公開しません。整形結果が入力上限を超える場合は元の入力を保持します。

よくある質問

Q. 欠ける項目とnullの違いは?
配列内で項目が欠ける場合は?を付けます。nullは値の型として残します。nullを含む項目を省略可能にする設定は、項目の欠落も許す追加設定です。
Q. 深いJSONや大きなJSONも使えますか?
入力100000文字(UTF-16単位)、深さ64(ルート0)、値10000個、出力500000文字・1000型以内です。超える場合は分割してください。
Q. コピーや貼り付けが応答しないときは?
5秒で応答待ちの案内へ切り替わります。入力・出力欄を選択して手動操作できます。元の処理は取り消せないため、完了するまで同じAPI操作は再実行できません。貼り付け先の内容を確認してください。
Q. interfaceとtypeの違いは?
オブジェクトはどちらでも表現できます。interfaceは宣言のマージが可能です。exportなしの出力はモジュール内で利用し、既存の型名との衝突を確認してください。typeはユニオンやプリミティブの別名も表現できます。利用先の設計に合わせて選んでください。
Q. 入力は送信されますか?
このツールの型生成・整形はブラウザ内で完結し、入力を送信しません。ページ・計測・広告の通信はあります。
このツールを評価
—(0件)