AJAX: Check if a string is JSON?
ajax, javascript, json, validation
Solution
If you include the JSON parser from json.org, you can use its parse() function and just wrap it in a try/catch, like so:
try
{
var json = JSON.parse(this.responseText);
}
catch(e)
{
alert('invalid json');
}
Something like that would probably do what you want.
Problem
My JavaScript sometimes crashes on this line: ``` var json = eval('(' + this.responseText + ')'); ``` Crashes are caused when the argument of `eval()` is not JSON. Is there any way to check if the string is JSON before making this call? I don't want to use a framework - is there any way to make this work using just `eval()`? (There's a good reason, I promise.)