TypeScript からモック JSON ジェネレーター
TypeScript のインターフェースを貼り付けると、それに準拠したリアルなモック JSON を、そのままブラウザー内で生成します。コードはデバイス上に留まります。
TypeScript のインターフェースはブラウザー内でローカルに解析・モック化され、アップロードされることはありません。生成されるデータはランダムなサンプルデータで、実際のレコードではありません。
すでに JSON がありますか? JSON to TypeScript で TypeScript に変換できます。
TypeScript からモック JSON について
この TypeScript からモックデータへのツールは、貼り付けたインターフェースや型エイリアスを受け取り、その形に合ったリアルなモック JSON を生成します。型の構造を読み取り、フィールド名と宣言された型の両方から各プロパティの偽の値を選びます。email フィールドはもっともらしいメールに、name はフルネームに、createdAt は ISO 日付に、id は UUID か数値に、プレーンな文字列は単語になります。ネストしたインターフェース、インラインオブジェクト、配列、文字列リテラルのユニオン、任意メンバー、Date のすべてに対応し、生成するオブジェクトの数や、任意フィールドを含めるかどうかを制御できます。テストのシード、API レスポンスのプロトタイプ、UI をサンプルデータで埋めるなど、フィクスチャを手書きする代わりに使えます。すべてはブラウザー内で動作し、貼り付けたインターフェースはローカルで処理され、デバイスから外に出ることはありません。
機能
- あらゆる TypeScript のインターフェースや型エイリアスを読み取り、一致する JSON の形を推論
- フィールド名に応じて偽の値を選択 — email、name、phone、url、uuid、date など
- 名前のヒントが一致しない場合は宣言された型(string、number、boolean、null)にフォールバック
- ネストしたインターフェース、インラインのオブジェクト型、参照された型に再帰的に対応
- tags: string[] のような配列フィールドを、複数の生成済み項目に展開
- 'admin' | 'editor' のような文字列リテラルのユニオンから1つのブランチを選択
- 任意(prop?:)フィールドのオン/オフを切り替え、1オブジェクトまたは多数の配列を生成
- JSON をワンクリックでコピー、または .json ファイルとしてダウンロード
TypeScript からモック JSON の使い方
- TypeScript のインターフェースまたは型エイリアスを入力ボックスに貼り付けます。
- 生成するオブジェクト数と、任意フィールドを含めるかどうかを設定します。
- 複数のインターフェースを貼り付けた場合は、どれをルートとして使うか選びます。
- 右側で生成されたモック JSON を確認し、コピーするか .json ファイルとしてダウンロードします。
例
入力
interface User {
id: number;
fullName: string;
email: string;
role: 'admin' | 'editor' | 'viewer';
tags: string[];
}
出力
{
"id": 4821,
"fullName": "Ada Lovelace",
"email": "ada.lovelace@example.com",
"role": "editor",
"tags": [
"design",
"api"
]
}
フィールド名が偽の値を導き、ユニオンフィールドはそのメンバーの1つに解決されます。
よくあるエラーとトラブルシューティング
- 出力に「No TypeScript interface or type alias found」と表示される。 — interface User { id: number } や type User = { id: number } のような本物の宣言を貼り付けてください。単なる値や式にはモック化する形がありません。
- 参照された型が、ネストしたオブジェクトではなくプレーンな単語として出力される。 — 参照されたインターフェースを同じ貼り付けの中に含めてください。展開できるのは貼り付けたソース内で定義された型のみで、未知またはインポートされた型は文字列にフォールバックします。
- enum や複雑なマップ型が期待どおりに展開されない。 — enum を文字列リテラルのユニオン(例: 'a' | 'b')に変換すると、メンバーを選べるようになります。特殊な構文はもっともらしい文字列にフォールバックします。
- 任意フィールドが出続ける(またはまったく出ない)。 — Optionals トグルを使ってください。オフのときは prop?: メンバーがすべて省略され、オンのときは任意メンバーが常に含まれます。
よくある質問
- TypeScript のフィールド型はどのように偽の値に変換されますか。
- 各プロパティはまず名前で照合されます。email、name、phone、url、uuid、createdAt などのヒントは対応する偽データにマッピングされます。名前で一致しない場合は宣言された型で照合され、string、number、boolean、null にそれぞれ妥当な生成値が割り当てられます。
- ネストしたインターフェース、配列、ユニオンに対応していますか。
- はい。ネストしたインターフェースとインラインのオブジェクト型は再帰的に展開され、string[] のような配列型は複数の生成済み項目になり、'admin' | 'editor' のような文字列リテラルのユニオンはそのメンバーの1つに解決されます。
- 多数のオブジェクトの配列を一度に生成できますか。
- はい。オブジェクト数を1より大きく設定すると、その数だけ生成したオブジェクトの JSON 配列が返されます。数が1のときは配列ではなく単一のオブジェクトが返されます。
- 任意プロパティはどのように扱われますか。
- prop?: で任意と指定されたメンバーは Optionals トグルで制御されます。オンにすると常に含め、オフにするとすべての任意フィールドを出力から省きます。
- Date フィールドや ISO タイムスタンプはどうなりますか。
- Date 型と、createdAt、updatedAt、timestamp などの名前のヒントは、ISO 8601 の日付文字列を生成するため、モック JSON は有効で解析しやすいままです。
- 貼り付けた TypeScript はどこかに送信されますか。
- いいえ。インターフェースの解析とモック JSON の生成はすべてブラウザー内で行われるため、貼り付けたコードはローカルで処理され、デバイスから外に出ることはありません。
関連ツール
すべての ArrayKit ツール