假设这是你的 json 转换成 python 字典
ordered_dict = [{'DeviceInstanceId': 1, 'IsResetNeeded': False, 'ProductType': 'testing', 'Product': {'Family': '12345',"Model": "f10","Type ": "数据","供应商": "qspi"}}]
您可以使用ordered_dict.keys()按顺序获取所有键,现在由于它是字典列表,因此您必须获取所有项目的键并相互比较以检查所有键是否按顺序排列,我正在转换为元组的元组进行比较。
tuple_of_keys = tuple([tuple(j.keys()) for j in ordered_dict])
这将为您提供键元组的元组。
现在做一组像,
if len(set(tuple_of_keys)) == 1:
print("all keys are in order")
else:
print("missing data")
如果长度等于1,那么所有键的顺序相同
要比较产品密钥中的密钥,请将代码更改为
tuple_of_keys = tuple([tuple(j['Product'].keys()) for j in ordered_dict])
然后再次使用相同的方法
如果您想手动传递键的顺序并检查顺序是否匹配,请使用以下代码。
order_of_keys = ('Vendor', 'Model', 'Type', 'Family')
ordered_dict = [{'DeviceInstanceId': 1, 'IsResetNeeded': False,
'ProductType': 'testing', 'Product': {'Family': '12345',"Model":
"f10","Type": "data","Vendor": "qspi"}},{'DeviceInstanceId': 1,
'IsResetNeeded': False, 'ProductType': 'testing', 'Product': {'Family':
'12345',"Model": "f10","Type": "data","Vendor": "qspi"}}]
def tests(order_of_keys,ordered_dict):
tuple_of_keys = tuple([tuple(j['Product'].keys()) for j in ordered_dict])
for each_item in tuple_of_keys:
if each_item == order_of_keys:
print("all keys are in order")
else:
print("missing data")
tests(order_of_keys,ordered_dict)