我可以使用什么方法来确定json父值是否为空?
基本上我有一个看起来像这样的网址
catalogue/items.json?category=1&item=scarf
并且有超过10个类别
我想搜索所有类别,直到它发现json实际上返回了有效的价格索引等。(即使该类别中不存在项目,它仍将打印出该类别中的项目数量json)
示例:
如果围巾存在于第2类
中{"total":100,"items":["name":"Scarf", "current":{"price":"122.5"}]}
如果第2类中不存在围巾
{"total":100,"items":[]}
答案 0 :(得分:2)
在您的示例中,您的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'
结果:
There is Scarf
There is NO Scarf
编辑,karthikr建议你可以使用
if data.get('items', {}).get('name', '').lower() == 'scarf':
print 'There is Scarf'
else:
print 'There is NO Scarf'