gpt4 book ai didi

python - 在不知道索引是否存在的情况下处理访问 json 值的 pythonic 方法是什么?

转载 作者:行者123 更新时间:2023-11-28 21:56:02 25 4
gpt4 key购买 nike

我传递给构造函数的参数来自 json 对象,偶尔会出现 IndexError: list index out of range

class ApiResponse(object):
def __init__(self, a=None, b=None):
self.a = a
self.b = b

apiResponse = ApiResponse(
a = jsonResponse['foo']['bar']['a'],
b = jsonResponse['bar']['foo']['b']
)

如果索引 jsonResponse['foo']['bar']['a'] 不存在,我只希望 None 的默认值是在对象中设置(即,我不想将 a 的参数传递给构造函数。)

有没有一种简洁的方法来做到这一点(我的类中有大约 8 个参数,参数来自 json 对象的不同维度)?

最佳答案

在 Python 中,JSON 数据可以表示为字典,它们有一个 get 方法,如果找不到键,该方法接受默认值。你可以像这样链接它们

apiResponse =  ApiResponse(
a = jsonResponse.get('foo', {}).get('bar', {}).get('a', None),
b = jsonResponse.get('bar', {}).get('foo', {}).get('b', None)
)

关于python - 在不知道索引是否存在的情况下处理访问 json 值的 pythonic 方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22138955/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com