API响应数据提取疑问:如何获取嵌套数组内的指定字段值
问题解答
先看你的API响应结构:something2是一个数组,数组内部包含键值对对象。你之前的错误是访问顺序搞反了——得先定位数组里的对象,再取对象的属性。
正确的取值方式
- 要获取
info1的值:r.json()['name2']['something2'][0]['info1'] - 要获取
info2的值:r.json()['name2']['something2'][0]['info2']
为什么之前的代码报错?
你的第一个写法r.json()['name2']['something2']['info2'][0],是先给数组something2用键名'info2'访问,这不符合数组的访问规则(数组只能用数字索引,比如[0]),所以会报错。而第二个写法r.json()['name2']['something2'][0]拿到的是数组里的整个对象,所以会输出完整的键值对。
如果something2有多个对象的情况
如果数组里不止一个对象,想批量获取所有info1或info2,可以用循环遍历:
data = r.json()['name2']['something2'] for obj in data: print(obj['info1'], obj['info2'])
内容的提问来源于stack exchange,提问作者BluSpy
相关产品推荐
相关产品推荐

