Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从嵌套Json响应中提取键和值数据的简单方法_Python_Json - Fatal编程技术网

Python 从嵌套Json响应中提取键和值数据的简单方法

Python 从嵌套Json响应中提取键和值数据的简单方法,python,json,Python,Json,大家好这里是我的嵌套json响应的一个片段 我想要完成的是从这个json响应中获取所有行数据,但我还没有找到正确的方法 这就是我所尝试的: response = requests.get(url, headers=headers, json={"script": sql}, verify=verify).json() print(response) responseobject = json.dumps(response) print(responseobject) for object i

大家好这里是我的嵌套json响应的一个片段

我想要完成的是从这个json响应中获取所有行数据,但我还没有找到正确的方法

这就是我所尝试的:

 response = requests.get(url, headers=headers, json={"script": sql}, verify=verify).json()
print(response)
responseobject = json.dumps(response)
print(responseobject)

for object in responseobject['Result']['Results']:
    print (object)
运行此代码后的输出

TypeError: string indices must be integers
有什么建议吗

responseobject = json.dumps(response)
这里将响应对象转换为字符串。因此,当您执行responseobject['Result']时,您是在索引字符串,而不是字典


要解决此问题,只需删除responseobject=json.dumpsresponse并执行response['Result']['Results'],而不是responseobject['Result']['Results']。

我们无法不看到json响应的结构。请求末尾的.json正在将请求中的json字符串/数据从字符串解码为python对象。但接下来您要执行responseobject=json.dumpsresponse,它将获取python对象,并将其转储回单个大字符串中。然后尝试执行responseobject['Result']['Results'].TLDR您不需要responseobject=json.dumpsresponse,您的请求。获取。。。行已经返回了一个python对象,可能是一个dicts,所以您应该只使用response['Result']['Results']@jarmod这是我的结构谢谢你的回答此解决方案确实有助于解决我遇到的错误,但它不回答获取行的键和值的问题。@X考虑到你当前的帖子没有足够的信息让我回答这个问题。你需要检查数据的形状,找出哪些键可以访问你想要的部分row@Xfactor响应['Result']['Results']是一个列表。您可以像在示例中尝试的那样对其进行迭代,然后对列表中的每个字典执行任何操作。我建议您阅读python中的列表和字典,以便了解如何使用它们。