Python 如何将响应路径键保存到变量中
我有一个json响应,其中键到值的路径类似于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响应。而且里面有太多的数据。有时,所需的数据在它的深处 这可能不是
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']。并且也不需要将此路径粘贴到返回方法中。