在python中,如何使用路径/映射访问和更新JSON的特定属性以字符串形式提供



我有复杂的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没有被大括号包围。

相关内容

  • 没有找到相关文章

最新更新