Check if a JavaScript string is a valid JSON
When working with serialized data, you might come across some malformed or invalid JSON strings from time to time. While JavaScript doesn't have a built-in validation method for JSON, it has a handy JSON.parse()
method that can be used to check if a string is a valid JSON.
Reading through the documentation, you'll find that JSON.parse()
throws a SyntaxError
if the string is not a valid JSON. We can use this to our advantage by wrapping the JSON.parse()
method in a try...catch
block to check if the string is valid.
const isValidJSON = str => { try { JSON.parse(str); return true; } catch (e) { return false; } }; isValidJSON('{"name":"Adam","age":20}'); // true isValidJSON('{"name":"Adam",age:"20"}'); // false isValidJSON(null); // true