The data to parse
The parsed JSON or undefined if it fails
tryParseJson('{"name": "John", "age": 30}') // { name: 'John', age: 30 }
tryParseJson('not a json string') // undefined
export function tryParseJson(data: unknown): unknown | undefined {
try {
return JSON.parse(String(data));
} catch {
return undefined;
}
}
Tries to parse a JSON string. If it fails, it returns the original string.