Python 的小问题
本帖最后由 zx2000 于 2019-11-18 14:14 编辑接口返回json数据,例如:
result={
"A": {
"A1": "这是A1",
"A2": "这是A2"
}
}
有时候返回的json里面没有 A2这对数据
然后result["A"]["A2"]就会报错,我想在程序碰到没有A2这对数据时,输出null。
实际中,不止少一对值
有没有大佬说一下方法{:301_972:}{:301_972:} 本帖最后由 井右寺 于 2019-11-18 13:49 编辑
getattr(dict,'key', null)
用这种取值方式,别直接取(emm,错了,这是去对象的)
dict.get(key, default)才是取字典的 用jsonpath抽取 判定 if 'A2' in json['A']: dic.has_key() W2PJ_test050eye 发表于 2019-11-18 13:53
if 'A2' in json['A']:
因为有时候很多键都没有,所以这样判断的话要判断很多遍。。但看来只有这种方法了 result["A"].get("A1")
井右寺 发表于 2019-11-18 13:38
getattr(dict,'key', null)
用这种取值方式,别直接取(emm,错了,这是去对象的)
这个方法确实很实用!!但我不知道怎么取A里面的A1 if 'A2' in result['A']:
pass: result.get('A').get('A2'),
字典的取值:
result['A'] -> 1,如果字典中没有A这个键值对,那么就报错,推荐使用get.如果没有则为空,当然也可以设定没有的话给个默认值.
如果你一定一定要使用 [] 的话, 可以使用(result['A'])['A2']
页:
[1]
2