DevToolKits.app
Article

ZodでJSONバリデーションを簡略化する

TypeScriptフレンドリーなスキーマ定義ライブラリ「Zod」を使い、JSONデータのランタイムバリデーションと型生成を自動化する方法を紹介します。

Zodによるバリデーションのイメージ

Zodとは?

Zodは、TypeScriptを第一に考えたスキーマ宣言およびバリデーションライブラリです。
APIから返ってくるデータが期待通りの形式であるかを動的にチェックし、同時にTypeScriptの型としても抽出できるため、型安全性と信頼性を両立できます。

なぜZodが必要か?

TypeScriptの型定義はコンパイル時にのみ存在し、実行時には消失します。
APIから予期せぬデータが返ってきた場合、型定義と実際のデータが乖離し、実行時エラーを引き起こす可能性があります。
Zodを使用することで、不正なデータを入り口で遮断し、安全なデータのみをアプリ内に通すことができます。

JSONからZodスキーマを生成する

既存のJSONデータがある場合、その構造に合わせて手作業でZodスキーマ(z.object({...}))を記述するのは手間がかかります。

JSON→Zod変換ツール を使用すると、JSONを入力するだけで対応するZodスキーマを自動生成します。
生成されたコードには、バリデーションロジックと型抽出(z.infer<T>)の両方が含まれるため、即座にプロジェクトへ組み込めます。

基本的な使い方

import { z } from 'zod';

const Schema = z.object({
  id: z.number(),
  name: z.string(),
});

type DataType = z.infer<typeof Schema>;

このように、Zodを使うことで実行時のチェックとコンパイル時の型の両方を1つの定義で管理できるようになります。

関連ツール

広告

広告