Python 使用Pycharm比较JSON文件中的值

Python 使用Pycharm比较JSON文件中的值,python,json,comparison,Python,Json,Comparison,对Python和JSON的阅读和写作还不熟悉,所以请对我放松,但如果有任何帮助,我将不胜感激 好的,我正在使用Pycharm,读取一个包含以下代码的大型JSON文件,并能够将其打印出来: import json from pprint import pprint with open('Files/InstrumentPublished.json') as data_file: data = json.load(data_file) pprint(

对Python和JSON的阅读和写作还不熟悉,所以请对我放松,但如果有任何帮助,我将不胜感激

好的,我正在使用Pycharm,读取一个包含以下代码的大型JSON文件,并能够将其打印出来:

    import json
    from pprint import pprint
    with open('Files/InstrumentPublished.json') as data_file:
         data = json.load(data_file)
    pprint(data)
在我正在阅读的JSON文件中,有4个字段需要查看:A_ID、B_ID、C_ID和D_ID。所有这些字段都应该具有相同的值,即(它们在整个JSON文件中位于不同的位置:

     "A_ID": "12345",
      ......
     "B_ID": "12345",
      .......
     "C_ID": "12345",
      ........
     "D_ID": "12345",
基本上,我需要在读取文件时添加以下逻辑:

  • 在JSON文件中标识以下字段:A_ID、B_ID、C_ID和D_ID
  • 读取/使用它们的值并进行比较
  • 如果所有值都相等,则打印true
  • 如果所有值不相等,则打印false
  • 我在互联网上搜索过,但只能找到使用Python对JSON的读写,而没有找到比较单个字段的内容

    就像我说的,任何帮助都将不胜感激

    谢谢


    Kirsty

    当您在Python中读取JSON时,它会变成一个,然后您可以使用方括号访问每个键值

    这是密码

    import json
    from pprint import pprint
    with open('Files/InstrumentPublished.json') as data_file:
         data = json.load(data_file)
    all_ids_equal = data['A_ID'] == data['B_ID'] == data['C_ID'] == data['D_ID']
    print(all_ids_equal)
    

    JSON是一种符号。您所描述的是比较包含的数据。您应该更幸运地了解如何比较数据而不是JSON,即如何比较Python
    dict
    的字段。是的,我同意,但需要帮助才能在字典中访问值,比较值在Python中是非常基本的操作。什么你到底在挣扎什么?请看下面。我理解这个概念,但它在下面不起作用!类型错误:字符串索引必须是整数没有运气文件“C:/Users/k_meredith/PycharmProjects/TestK01/TestK01.py”,第5行,在所有_ID中等于=data['A_ID']==data['B_ID']==data['C_ID']==data['D_ID']KeyError:“A_ID”它在JSOn文件中有A_ID,但找不到它,是否需要先读取它?@KirstyMeredith也许你可以告诉我们
    pprint(data)
    。你的JSOn结构似乎与问题中解释的不同。{“A_ID”:“12345”,“name”:“John”,“B_ID”:“12345”,“age”:30,“C_ID”:“12345”,“状态”:“已婚”,“身份证”:“12345”}压缩了它,但它根本找不到“身份证”-