如何用 python 在 JSON 中深入断言
How to assert deeply in JSON with python
我正在触发 API 调用,服务器响应采用 JSON 格式。
响应如下所示:
{
"status": 0,
"not_passed": 1,
"why": [
{
"code": 229,
"reason": "some reason",
}
]
}
我需要声明两件事。
现状及原因
我正在使用的来回状态:
r = requests.get_simple(url=Server.MY_SERVER, params=p)
data = json.loads(r.content)
assert data["status"] == 0
但它对'reason'不起作用,可能是因为'reason'在嵌套结构中更深。我该如何解决这个问题?
assert data['why'][0]['reason'] == 'something'
当然这假设 data['why']
存在,是一个列表,并且包含一个字典作为它的第一个元素。
我正在触发 API 调用,服务器响应采用 JSON 格式。 响应如下所示:
{
"status": 0,
"not_passed": 1,
"why": [
{
"code": 229,
"reason": "some reason",
}
]
}
我需要声明两件事。 现状及原因 我正在使用的来回状态:
r = requests.get_simple(url=Server.MY_SERVER, params=p)
data = json.loads(r.content)
assert data["status"] == 0
但它对'reason'不起作用,可能是因为'reason'在嵌套结构中更深。我该如何解决这个问题?
assert data['why'][0]['reason'] == 'something'
当然这假设 data['why']
存在,是一个列表,并且包含一个字典作为它的第一个元素。