【发布时间】:2020-04-22 08:58:03
【问题描述】:
这是In Python, how to concisely get nested values in json data?的扩展
我从 JSON 加载数据并尝试替换任意嵌套值使用列表作为输入,其中列表对应于后继孩子的名称。我想要一个函数 replace_value(data,lookup,value) 通过将查找中的每个条目视为嵌套子项来替换数据中的值。
这是我正在尝试做的结构:
json_data = {'alldata':{'name':'CAD/USD','TimeSeries':{'dates':['2018-01-01','2018-01-02'],'rates':[1.3241,1.3233]}}}
def replace_value(data,lookup,value):
DEFINITION
lookup = ['alldata','TimeSeries','rates']
replace_value(json_data,lookup,[2,3])
# The following should return [2,3]
print(json_data['alldata']['TimeSeries']['rates'])
我能够从 get_value() 开始,但对如何进行替换感到困惑。我并不固定于这种代码结构,但希望能够在给定连续子项列表和要替换的值的情况下以编程方式替换数据中的值。
注意:lookup 的长度可能为 1
【问题讨论】:
标签: json python-3.x dictionary