我有复杂的JSON对象"my_json_obj";并想访问特定的属性,但我有字符串形式的属性的路径/映射例如
map = "['newobj'][0]['root_str'][1]['home_str'][1]"
我想使用上面的地图/路径作为
my_json_obj['root1'][0]['check1'][1]['home_str'][1]
但是作为";地图";是一根绳子,所以我真的不能这么做。
我试着做:
eval(f"{my_json_obj}{map}")
它返回了预期的实例/obj/属性,但作为单独的副本,我想更新实际的my_json_obj,而不是eval返回的副本。
注意:此映射字符串是动态生成的,因此不能使用硬编码
如果您想设置值,请尝试使用:
exec(f"my_json_obj{map} = value")
例如:
exec(f"my_json_obj{map} = 2 * 3")
注意,2 * 3
没有被大括号包围。