查找键和值对是否存在于json中

时间:2018-10-29 03:40:06

标签: python arrays python-3.x python-2.7

我试图查看python中的JSON中是否存在键和值对。

这是我所拥有的:

{
    "cars": [
        {
            "model": "test"
        },
        {
            "model": "test2"
        }
    ]
}

我已经尝试过了:

jsondata = open("test.json",'r').read() 
fileData = json.loads(jsondata)

if "test" in [cars.model for cars in fileData]:
    print('test')

任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:2)

尝试一下:

if "test" in [cars['model'] for cars in fileData['cars']]:
    print('test')

更新

print([cars for cars in fileData['cars'] if cars['model']=='test'])

只需要进行列表理解

答案 1 :(得分:1)

我建议的最好方法是使用字典和异常处理。每当找不到特定密钥时,都会引发'KeyError'异常,这将使您可以在密钥不存在的情况下进行有需要的操作。

在您的情况下:

jsondata = open("test.json",'r').read() 
fileData = json.loads(jsondata)

try:
  cars = fileData['cars']
except KeyError:
  print("Missing cars key")

希望有帮助!