Python 如何将响应路径键保存到变量中

Python 如何将响应路径键保存到变量中,python,json,Python,Json,我有一个json响应,其中键到值的路径类似于response['key1']['key2']['key3']['key4'] 如何将['key1']['key2']['key3']['key4']保存到同一个变量中,以便在下一个代码中重用它? 像响应[saved_path]或其他变体 例如。有一种方法: def post_新用户 响应=某些\u代码 返回json.loads(response.text) 因此,我得到了一个json响应。而且里面有太多的数据。有时,所需的数据在它的深处 这可能不是

我有一个json响应,其中键到值的路径类似于
response['key1']['key2']['key3']['key4']
如何将
['key1']['key2']['key3']['key4']
保存到同一个变量中,以便在下一个代码中重用它? 像
响应[saved_path]
或其他变体

例如。有一种方法:

def post_新用户
响应=某些\u代码
返回json.loads(response.text)


因此,我得到了一个json响应。而且里面有太多的数据。有时,所需的数据在它的深处

这可能不是最优的,但我通常为此类任务编写一个助手函数:


def获取路径(d,路径):
#递归助手函数,用于在所需路径访问元素
def get(d,l):
如果len(l)==0:
返回d
其他:
返回get(d[l[0]],l[1:]
#拆分路径以生成列表
返回get(d,path.split('/'))
然后,假设
jsondict
是您解析的json对象,您可以使用上述函数访问所需的路径:

jsondict = {'abc': { 'def': { 'ghi': 42 } } }
print( get_by_path(jsondict, 'abc/def/ghi') )

使用一个列表,也许
['key1'、'key2'、'key3'、'key4']
你能详细说明一下吗?您想做什么?看起来您需要展平jsonI,只需将键的路径指定为一个变量,然后重用它。只是不要每次都键入response['key1']['key2']['key3']['key4']。并且也不需要将此路径粘贴到返回方法中。