TR Output

フロントエンドエンジニアの備忘録

【TypeScript】型安全にJSON.parse()を使う

function safeJsonParse<T>(jsonString: string): T | null {
  try {
    const parsedData = JSON.parse(jsonString);
    if (typeof parsedData === 'object' && parsedData !== null) {
      return parsedData as T;
    }
  } catch (error) {
    console.error("JSONパースエラー:", error);
  }
  return null;
}

// ex
const parsedData = safeJsonParse<JsonType>(jsonString);

Zodというライブラリでより堅牢な型チェックも可能な模様