检查json父值是否为空

2024-05-16 20:48:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我可以使用什么方法来确定json父值是否为空?在

基本上我有一个网址,看起来像这样

catalogue/items.json?category=1&item=scarf

有10多个类别

我想搜索所有的类别,直到它发现json实际上返回了一个有效的price索引,等等。。(即使项目不在类别中,它仍会在json中打印出类别中有多少项)

示例:

如果围巾存在于2类

^{pr2}$

如果围巾不在第二类中

{"total":100,"items":[]}

Tags: 项目方法json示例itemsitem类别price
1条回答
网友
1楼 · 发布于 2024-05-16 20:48:39

在您的示例中,JSON字符串不正确,但我使用了正确的版本。在

import json

#  -

json_str = '''{"total":100,"items":{"name":"Scarf", "current":{"price":"122.5"}}}'''

data = json.loads(json_str)

if 'name' in data['items'] and data['items']['name'].lower() == 'scarf':
    print 'There is Scarf'
else:
    print 'There is NO Scarf'        

#  -

json_str = '''{"total":100,"items":{}}'''

data = json.loads(json_str)

if 'name' in data['items'] and data['items']['name'].lower() == 'scarf':
    print 'There is Scarf'
else:
    print 'There is NO Scarf'

结果:

^{pr2}$

编辑:按照karthikr的建议使用

if data.get('items', {}).get('name', '').lower() == 'scarf':
    print 'There is Scarf'
else:
    print 'There is NO Scarf'

相关问题 更多 >