如何比较完整的JSON对象

时间:2017-08-02 12:35:19

标签: node.js unit-testing chai

有没有办法比较使用ChaiJS的2个json对象?我想比较它们直到叶节点。但是,如果代码忽略JSON对象中兄弟节点的顺序会更好 - 只会验证值的结构和值以及数据类型。任何帮助表示赞赏。

我刚刚看到以下代码,但不确定 equalsRec

是什么
expect({ a: 3, b: {c: '2'} }).to.equalRec({ a: 3, b: {c: 2} }) //expecting false
expect({ a: 3, b: {c: '2'} }).to.equalRec({ b: {c: '2'}, a: 3 }) //expecting true

1 个答案:

答案 0 :(得分:5)

首先是no such thing as "JSON object"。你有对象文字。然后“忽略兄弟姐妹的顺序”对象键没有顺序。

要比较两个对象,您可以使用deep flag

expect(obj1).to.be.deep.equal(obj2)