吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1620|回复: 10
收起左侧

[已解决] Python 的小问题

[复制链接]
zx2000 发表于 2019-11-18 13:36
本帖最后由 zx2000 于 2019-11-18 14:14 编辑

接口返回json数据,例如:
[Python] 纯文本查看 复制代码
result={
        "A": {
                "A1": "这是A1",
                "A2": "这是A2"
        }
}

有时候返回的json里面没有 A2这对数据
然后result["A"]["A2"]就会报错,我想在程序碰到没有A2这对数据时,输出null。
实际中,不止少一对值
有没有大佬说一下方法

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

井右寺 发表于 2019-11-18 13:38
本帖最后由 井右寺 于 2019-11-18 13:49 编辑

getattr(dict,'key', null)
用这种取值方式,别直接取(emm,错了,这是去对象的)

dict.get(key, default)才是取字典的

免费评分

参与人数 1吾爱币 +1 收起 理由
zx2000 + 1 谢谢@Thanks!

查看全部评分

coderLee23 发表于 2019-11-18 13:40
W2PJ_test050eye 发表于 2019-11-18 13:53
JuncoJet 发表于 2019-11-18 13:53
dic.has_key()
 楼主| zx2000 发表于 2019-11-18 14:07

因为有时候很多键都没有,所以这样判断的话要判断很多遍。。但看来只有这种方法了
fanai 发表于 2019-11-18 14:09
result["A"].get("A1")

免费评分

参与人数 1热心值 +1 收起 理由
zx2000 + 1 谢谢@Thanks!

查看全部评分

 楼主| zx2000 发表于 2019-11-18 14:10
井右寺 发表于 2019-11-18 13:38
getattr(dict,'key', null)
用这种取值方式,别直接取(emm,错了,这是去对象的)

这个方法确实很实用!!但我不知道怎么取A里面的A1
Vvvvvoid 发表于 2019-11-18 14:28
if 'A2' in result['A']:
    pass:
RemMai 发表于 2019-11-18 14:34
result.get('A').get('A2'),
字典的取值:
result['A'] -> 1,如果字典中没有A这个键值对,那么就报错,推荐使用get.如果没有则为空,当然也可以设定没有的话给个默认值.
如果你一定一定要使用 [] 的话, 可以使用(result['A'])['A2']
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-27 00:40

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表