【js】判断一个字符串是否是json

根据如下情况展示内容

//情况一:
var content = "<p>武汉加油</p><div>战胜疫情</div>"

//情况二:
var content1 = '[{"name":"wwww","url":""},{"name":"","url":"图片地址XXXXXX"}]'

解决方案:判断是否是json

//情况一:
var content = "<p>武汉加油</p><div>战胜疫情</div>";

//情况二:
var content1 = '[{"name":"wwwwwwwwwwwwwwww","url":""},{"name":"","url":"http: //xxx.xxx.com/xxxx/xxx/e/0/e0/fil/2020/03/31/158562388310695/158562388368323.png"}]';
//判断是否是json对象
var isJSON = function (str) {
    if (typeof str == 'string') {
        try {
            var obj = JSON.parse(str);
            if (typeof obj == 'object' && obj) {
                return true;
            } else {
                return false;
            }

        } catch (e) {
            console.log('error:' + str + '!!!' + e);
            return false;
        }
    }
    console.log('It is not a string!')
}
console.log(isJSON(content)); 
console.log(isJSON(content1));

效果:

ps:

  • 如果JSON.parse能够转换成功;并且转换后的类型为object 且不等于 null,那么这个字符串就是JSON格式的字符串。
  • 正确的JSON格式有:  数组、空对象、json  

 

相关资料:

原文地址:https://www.cnblogs.com/websmile/p/12606080.html