To check if a string is JSON in JavaScript, we can use the JSON.parse
method within a try-catch block.
For instance, we can write:
const jsonStr = JSON.stringify({
foo: 'bar'
})
try {
const json = JSON.parse(jsonStr);
} catch (e) {
console.log('invalid json');
}
to check if jsonStr
is a valid JSON string.
Since we created the JSON string by calling JSON.stringify
with an object, it should be valid JSON.
Next, we have a try-catch block with the JSON.parse
call in the try
block to try to parse the jsonStr
string with JSON.parse
.
Since jsonStr
is a valid JSON string, the code in the catch
block shouldn’t run.
If jsonStr
isn’t a valid JSON string, then the code in the catch
block runs since JSON.parse
will throw an exception if it’s called with an invalid JSON string.
One reply on “How to Check if a String is JSON in JavaScript?”
Ummm… try the value ‘foo’. Or 123. Or ‘123’. Last I checked, neither strings nor numbers are valid JSON notation.