如何在JSON响应中访问指定独立值?以获取val3为例的代码调试求助
如何正确访问JSON响应中的指定元素?
兄弟,你这段代码完全绕了个没必要的大弯,反而把简单的事情搞复杂了!咱们来拆解问题,一步步给你理顺:
你的代码核心问题
首先,requests的.json()方法已经帮你把接口返回的JSON直接解析成Python的列表对象了!结果你又多此一举把它转成字符串,还手动替换引号再重新用json.loads加载——这不仅完全没必要,还可能因为字符串转换时的格式偏差,导致后续解析出问题。
另外,你嵌套的内层循环完全多余:你要的是每个子列表里的第3个元素(Python索引从0开始,对应索引2),根本不需要遍历子列表的每个元素,更不需要那个毫无作用的pass语句。
正确的代码写法
直接用.json()拿到解析好的列表,遍历每个子列表取索引2的元素就行:
import requests test = requests.get("url") test_data = test.json() # 这一步直接得到Python列表,无需额外转换! for sub_list in test_data: print(sub_list[2]) # 索引2就是你要的val3
原代码无输出的原因
你把已经解析好的列表转成字符串再重新加载,大概率导致test_data的结构出现异常(比如原本的列表被转成字符串后,解析结果变味了),加上多余的内层循环干扰,才出现了无输出的情况。去掉那些画蛇添足的步骤,直接操作.json()返回的列表就完全正常了。
内容的提问来源于stack exchange,提问作者Aboji
相关产品推荐
相关产品推荐

