检查JSON密钥是否为空

时间:2017-08-03 10:48:07

标签: python json python-2.7

我希望能够检查JSON密钥是否为空,然后根据结果退出脚本。

我有以下JSON:

{
    "changed": false,
    "results": []
}

如果"结果" key是空的,因为它在上面,我希望脚本以返回码0退出,否则它应该返回1.

我已经尝试了

import json, sys

obj=json.load(sys.stdin)

if obj["results"]=="":
    exit(0)
else:
    exit(1)

但这会产生:

IndexError: list index out of range

2 个答案:

答案 0 :(得分:3)

检查密钥的存在及其长度:

import json, sys

obj=json.load(sys.stdin)

if not 'results' in obj or len(obj['results']) == 0:
    exit(0)
else:
    exit(1)

答案 1 :(得分:1)

import json, sys

obj=json.load(sys.stdin)

if len(obj["results"])==0:
    exit(0)
else:
    exit(1)

尝试使用obj的长度["结果"]