在Python中检查Json数据是否为空

时间:2019-06-26 05:29:09

标签: python django django-rest-framework

这是我的json,可能是我们在django rest框架中要求的数千条记录数据。

{
 "a":1,
 "b":2,
 "c":3,
 .....
}

if request.data['a'] == '':
   return JsonResponse({'error':1})
elif request.data['b'] == '':
   return JsonResponse({'error':1})
elif .....
   .......
else:
   ......

如果...否则,我要检查数据是否不像上面一样空白。我们可以添加else条件,但无法从if中检查所有数据。请建议我什么是检查python中这行代码的最佳方法。

4 个答案:

答案 0 :(得分:1)

您可以使用for循环进行检查

SiteToPeriod = 
CROSSJOIN(
    SELECTCOLUMNS(Sites1, "Building name/label", Sites1[Building name/label]),
    Period
)

答案 1 :(得分:1)

如果您使用json模块通过json.loads解析json响应文本,则可以像下面的dict一样直接访问它。

import json
json_data = json.loads(json_text)

for mykey in json_data:
    if json_data[mykey] = "":
        return JsonResponse({'error':1})
    else:
        pass

答案 2 :(得分:1)

您可以使用data.items()来获取键和值,然后可以根据需要进行处理:-

import json
data = { "a":1, "b":2, "c":3  }
for key,value in data.items():  # Here you will get key and value.
    if value == '':
        return JsonResponse({'error':1})
    else:
        pass 

答案 3 :(得分:0)

这是一个简单的解决方案

data = {
    "a": 1,
    "b": 2,
    "c": "",
    "d": ""
}

for key in data:
    if bool(data[key]):
        pass
    else:
        return JsonResponse({"error":1})