javascript - 如何测试字符串是否为 JSON?

我有一个简单的 AJAX 调用,服务器将返回包含有用数据的 JSON 字符串或 PHP 函数 mysql_error() 生成的错误消息字符串。如何测试此数据是 JSON 字符串还是错误消息。

最好使用一个名为 isJSON 的函数,就像您可以使用函数 instanceof 来测试某事物是否为数组一样。

这就是我想要的:

if (isJSON(data)){
    //do some data stuff
}else{
    //report the error
    alert(data);
}

最佳答案

使用 JSON.parse

function isJson(str) {
    try {
        JSON.parse(str);
    } catch (e) {
        return false;
    }
    return true;
}

https://stackoverflow.com/questions/9804777/

相关文章:

c# - json.net 有关键方法吗?

javascript - 在 Node.js 中,如何将字符串转换为 json?

javascript - node.js TypeError : path must be abso

json - 将 curl POST 与 bash 脚本函数中定义的变量一起使用

c# - 将 JSON 字符串转换为 JSON 对象 c#

c# - RestSharp JSON 参数发布

javascript - 如何从 JavaScript 中的 URL 获取 JSON?

json - postman :发送嵌套的 JSON 对象

ruby - 如何将 JSON 转换为 Ruby 哈希

javascript - 使用 Javascript 将 XML 转换为 JSON(并返回)