如果对象是相同的

时间:2018-01-08 17:58:13

标签: javascript node.js

是否可以检查json是否有效',有效我的意思是相同的类型:例如

{"name": "John Doe", "username": "jhndoe"}

{"name": "Jane Doe", "username": "jane12"}

会是一样的,但是

{"name": "Ann Onymouse", "username": "anon"}

{"name": true, "age": "24"}

不会告发'吨

1 个答案:

答案 0 :(得分:1)

如果要比较两个对象以查看它们是否具有相同的键集,可以这样做:

if (JSON.stringify(Object.keys(yourFirstObject).sort()) == JSON.stringify(Object.keys(yourSecondObject).sort())){
    alert("Same set of keys!");
}

但请注意,问题中给定的JSON Object示例无效。如果这只是一个错误,您仍然可以在有效的JSON对象上使用此代码。

示例:

var obj1 = {"name": "John Doe", "username": "jhndoe"};
var obj2 = {"name": "Jane Doe", "username": "jane12"};

if (JSON.stringify(Object.keys(obj1).sort()) == JSON.stringify(Object.keys(obj2).sort())){
    console.log("Same set of keys!");
}