从架构中不存在的JSON对象中删除属性?

2024-04-26 03:22:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用Python的jsonschema根据模式验证JSON文件。效果很好。但是现在我需要从JSON中删除模式中不存在的任何属性。在

我知道根据the JSON Schema docs,我可以设置属性:

additionalProperties = false

拒绝任何具有附加属性的文件。但这只会拒绝属性,而不是真正地移除属性。在

移除它们的最佳方法是什么?在

我想我可以自己写剧本:

  • 遍历JSON文件的每个叶节点
  • 检查架构中是否存在叶节点
  • 如果不存在,则沿着树向上遍历,直到找到确实存在的最高节点,然后在该点修剪分支。在

我的问题是:有没有一个现有的Python库来完成这个任务,还是需要编写一个?我在谷歌上搜索过,但没有成功。在


Tags: 文件the方法jsonfalsedocs属性节点