js如何判断一个字符串是否为json格式

try/catch判断 

function isJSON(str) {
    if (typeof str == 'string') {
        try {
            JSON.parse(str);
            return true;
        } catch(e) {
            console.log(e);
            return false;
        }
    }
    console.log('It is not a string!')    
}

以上try/catch的确实不能完全检验一个字符串是JSON格式的字符串,有许多例外:

JSON.parse('123'); // 123
JSON.parse('{}'); // {}
JSON.parse('true'); // true
JSON.parse('"foo"'); // "foo"
JSON.parse('[1, 5, "false"]'); // [1, 5, "false"]
JSON.parse('null'); // null

增强

那我们再判断下JSON.parse(str)的类型就好了

if (value === '{}') {
    return true
} else {
    try {
        if (Object.prototype.toString.call(JSON.parse(value)) === '[object Object]') {
            return true
        } else {
            return false
        }
    } catch (e) {
        return false
    }

}

相关推荐

  1. js如何判断一个字符串是否json格式

    2023-12-28 16:44:03       37 阅读
  2. 判断是否json字符串

    2023-12-28 16:44:03       35 阅读
  3. (vue)判断是否字符串/数组

    2023-12-28 16:44:03       18 阅读
  4. mysql判断一个字符串字段的长度是否0

    2023-12-28 16:44:03       14 阅读
  5. js判断是否数字的方法

    2023-12-28 16:44:03       36 阅读
  6. Python判断一个是否素数

    2023-12-28 16:44:03       17 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-28 16:44:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-28 16:44:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-28 16:44:03       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-28 16:44:03       20 阅读

热门阅读

  1. 使用Aspose.Words合并表格的单元格

    2023-12-28 16:44:03       33 阅读
  2. 知识笔记(五十九)———css 美化滚动条样式

    2023-12-28 16:44:03       31 阅读
  3. 【CSS】布局方式梳理和总结

    2023-12-28 16:44:03       35 阅读
  4. Golang学习之路一三基本数据类型

    2023-12-28 16:44:03       33 阅读
  5. Ubuntu安装MongoDB

    2023-12-28 16:44:03       36 阅读
  6. Sass(Scss)、Less的区别与选择 + 基本使用

    2023-12-28 16:44:03       34 阅读
  7. Mysql中 distinct 和 group by 哪个效率高?

    2023-12-28 16:44:03       32 阅读
  8. flutter 使用高德地图

    2023-12-28 16:44:03       40 阅读
  9. React 调试

    2023-12-28 16:44:03       40 阅读
  10. [ffmpeg]利用ffmepg转换mp3格式文件

    2023-12-28 16:44:03       29 阅读