本文へスキップ
snowkitDev

JSONからZodスキーマを生成、ブラウザ上でそのまま

APIのレスポンスや任意のJSONサンプルを貼り付けると、その構造に合ったZodスキーマが得られます。

JSONから型へ

JSONを貼り付けて、必要な言語を選びます。

ダウンロード

配列は統合されるため、一部の項目にないフィールドは省略可能になります。

入れ子のオブジェクトは名前付きの型になり、一部の項目にないフィールドは省略可能になります。JSONのサンプルを貼り付けると、TypeScript、Zod、Go、Python、JSON Schemaで、すぐ使える型が得られます。ブラウザ上で動作し、無料で、プライバシーも守られます。

JSONを型に変換する方法

  1. JSONを「JSON」に貼り付けるか、「例を試す」を押します。
  2. 出力を選びます:TypeScript、Zod、Go、Python、JSON Schema。
  3. 生成されたコードを読みます。
  4. 「コードをコピー」または「ダウンロード」を押します。

このツールでできること

JSONを読み取り、すべての値の型を調べて、その形を表すコードを書き出します。オブジェクトの配列は統合されるため、一部の項目にしかないフィールドは省略可能として示され、数値のときもテキストのときもあるフィールドは、ユニオン型になります。

5つの出力

フロントエンドとNodeのコード向けのTypeScriptインターフェース。実行時にデータを検証し、型も無料で得られるZodスキーマ。jsonタグ付きで、省略可能なフィールドにポインターを使うGoの構造体。最新の型ヒント付きのPythonのデータクラス。バリデーターやAPIドキュメント向けのJSON Schema(draft 2020-12)。

よりよい型のコツ

  • オプションのフィールドが見つかるよう、各配列に複数の項目があるサンプルを使ってください。
  • 型が狭くなりすぎないよう、ときどき空になるフィールドの値も含めます。
  • 生成されたルート型を、プロジェクトにとって意味のある名前に変更してください。
  • 出力を出発点として使い、手作業で絞り込んでください。たとえば、テキストのフィールドを、特定の許可された値にします。
  • 先にJSONツールで、JSONが有効かどうか確認してください。

こんな方に

新しいAPIを扱う開発者、データの形を学ぶ学生、クライアントのシステムをWebサイトにつなぐフリーランサー。AIモデル向けにツールを記述するには、関数スキーマビルダーを使ってください。

プライバシー

APIのレスポンスには、実際のユーザーデータが含まれることがよくあります。ここでは、ブラウザの外に出ることはなく、型はこの端末上で生成されます。

よくある質問

日付はどう扱われますか?

ISO形式の日付に見える文字列は、Goではtime.Timeになり、ZodとJSON Schemaでは日付チェックが付きます。他の言語では文字列のままです。

サンプルが不完全な場合は?

型は、見えているデータしか表現できません。最も正確な結果を得るには、できるだけ多くのフィールドが入ったレスポンスか、配列内の複数の項目を貼り付けてください。

null値はどうなりますか?

ときどきnullになるフィールドは、言語に応じて、nullとのユニオン型、または省略可能なフィールドになります。

次はこちら

作ったものを、そのまま端末上で続けましょう。

Snowkitのその他