Parse JSON with a fallback. No throw on invalid input.
export function parseJsonSafe<T = unknown>(
str: string,
fallback: T | null = null
): T | null {
try {
return JSON.parse(str) as T;
} catch {
return fallback;
}
}
Parse JSON without throwing. Returns fallback (default null) on invalid input.
Parse localStorage, API response, or query string safely.
const data = parseJsonSafe(localStorage.getItem('prefs'), {});