isjsonobj
Version:
JSON Object validator
27 lines • 883 B
JavaScript
const isJSONObj = (obj) => {
try {
if (typeof obj!=='object') {
throw false;
} else if (obj!==null) {
var obj_keys = Object.keys(obj);
var obj2 = JSON.parse(JSON.stringify(obj));
var obj2_keys = Object.keys(obj2);
while (obj2_keys.length) {
let key = obj2_keys.shift();
if (typeof obj[key]==='object' && obj[key]!==null && !isJSONObj(obj[key])) {
throw false;
} else if (JSON.stringify(obj[key])!==JSON.stringify(obj2[key])) {
throw false;
}
obj_keys.splice(obj_keys.indexOf(key), 1);
}
if (obj_keys.length) {
throw false;
}
}
} catch (err) {
return false;
}
return true;
}
module.exports = isJSONObj;