就像是:
var jsonString = '{ "Id": 1, "Name": "Coke" }';
//should be true
IsJsonString(jsonString);
//should be false
IsJsonString("foo");
IsJsonString("<div>foo</div>")
Run Code Online (Sandbox Code Playgroud)
解决方案不应包含try/catch.我们中的一些人打开"中断所有错误",他们不喜欢调试器打破那些无效的JSON字符串.
我有一个简单的AJAX调用,服务器将返回带有用数据的JSON字符串或PHP函数生成的错误消息字符串mysql_error().如何测试此数据是JSON字符串还是错误消息.
使用一个被调用的函数会很好,isJSON就像你可以使用该函数instanceof来测试某些东西是否是一个数组.
这就是我要的:
if (isJSON(data)){
//do some data stuff
}else{
//report the error
alert(data);
}
Run Code Online (Sandbox Code Playgroud) 我试过了:
var c = $.parseJSON(something here)
Run Code Online (Sandbox Code Playgroud)
我控制了:
c === undefined
Run Code Online (Sandbox Code Playgroud)
这有效但是在尝试解析无效的JSON字符串时会抛出错误.我不希望它抛出那个错误.
有什么建议吗?