1

我有两个 json 对象,如下所示:

obj1= [ { "id": 4, "userId": "abc", "firstName": "abc", "lastName": "abc", "email": "abc@abc.it", "prefers" : [{"breakfast" : "bread" , "lunch" : "non-veg"}] } ]

obj2= [ { "id": 5, "userId": "def", "firstName": "def", "lastName": "def", "email": "def@def.it", "prefers" : [{"breakfast" : "egg" , "lunch" : "veg"}] } ]

鉴于这些对象,我必须验证 object2 具有与 object1 中相同的键

diff(obj1,obj2)应该给我丢失的钥匙

4

3 回答 3

0

用于keys返回散列键的数组,然后减去它们

obj1[0].keys - obj2[0].keys
# => array of missing keys
于 2013-10-02T07:46:36.003 回答
0

这个Ruby JSON 比较器将向您展示如何做到这一点。它旨在比较两个对象,如果它们相同则返回 true,但您可以根据需要设计更复杂的返回值。

于 2015-05-11T19:02:09.437 回答
0

如果您只想要两个对象的键匹配的真/假验证,您可以执行以下操作:

object1.keys && object2.keys == object1.keys

这会给你一个匹配与否的验证。

于 2020-07-19T03:14:47.503 回答