js判断字符串是否为JSON格式

转载自(更多详细请查看):

https://www.cnblogs.com/lanleiming/p/7096973.html

function isJSON(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('123 is json? ' + isJSON('123'))
console.log('{} is json? ' + isJSON('{}'))
console.log('true is json? ' + isJSON('true'))
console.log('foo is json? ' + isJSON('"foo"'))
console.log('[1, 5, "false"] is json? ' + isJSON('[1, 5, "false"]'))
console.log('null is json? ' + isJSON('null'))
console.log('["1{211323}","2"] is json? ' + isJSON('["1{211323}","2"]'))
console.log('[{},"2"] is json? ' + isJSON('[{},"2"]'))
console.log('[[{},{"2":"3"}],"2"] is json? ' + isJSON('[[{},{"2":"3"}],"2"]'))

> "123 is json? false"
> "{} is json? true"
> "true is json? false"
> "foo is json? false"
> "[1, 5, "false"] is json? true"
> "null is json? false"
> "["1{211323}","2"] is json? true"
> "[{},"2"] is json? true"
> "[[{},{"2":"3"}],"2"] is json? true"

原文地址:https://www.cnblogs.com/HuairongChen/p/13524393.html