python对象特性对比_如何在Python中比较JSON对象,其中每个对象可以具有不同的属性...

注:修改了原来的问题,以证明我正试图做什么

我有两个json对象列表,需要检查它们是否“相同”,例如。

x = [

{

"Id": "A",

"Type": "A",

"Component": "A",

"Level": "A",

"Debug": "A",

"Space": 1

},

{

"Id": "B",

"Type": "B",

"Component": "B",

"Level": "B",

"Debug": "B",

}

]

y = [

{

"Id": "B",

"Type": "B",

"Component": "B",

"Level": "B",

"Debug": "B",

},

{

"Id": "A",

"Type": "A",

"Component": "A",

"Level": "A",

"Debug": "A",

"Space": 1

}

]

为了达到我所做的目的,这些物体将被归类为相同的。

背景:我有一个api返回的数据,我无法控制。我需要检查返回的数据是否与我拥有的预存储定义相同。如果它是相同的,即两个列表包含相同数量的对象和包含相同键的对象,那么我需要返回

True

. 否则

False

. 注意字典中的键可以按不同的顺序排列。

到目前为止我所做的:

表演一个

json.dumps()

具有

sort_keys

集合。这似乎只是对顶级对象进行排序,而不是深入到子对象。

我也试过反对

y

将对象A移到对象B上方。然后执行

x == y

比较确实会回来

.

基于上述情况,看起来内置的相等运算符希望对象按相同的顺序排序。因此,我认为可以根据

Type

然后

Id

可能是前进的方向。这个

类型

字段确定对象是否包含

Space

属性,在某些对象中添加属性似乎表明排序很重要。

注1:性能并不重要。

注2:我不熟悉python,所以不确定从工具箱中使用哪个工具,或者是否有内置的工具。

谢谢。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值