UNPKG

isjsonobj

Version:

JSON Object validator

27 lines 883 B
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;