var input = "{\"url\":\"MBU0016G7G004SS00081\",\"data\":{\"a\":1,\"b\":[2,3]}}";
const result = jsonParseSafely(input); // 输出 { "url": "MBU0016G7G004SS00081", "data": { "a": 1, "b": [ 2, 3 ] } }
var input = "{ url: 1 }";
const result = jsonParseSafely(input); // 非法 json 则输出 {}
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('not json');
return false;
}
}
}
function jsonParseSafely(str){
if(isJson(str)){
return JSON.parse(str);
} else {
return {};
}
}