我正在寻找有关使用python3比较json文件并输出匹配的键,值对的最佳方法的建议
我编写了python脚本,以遍历通过多个api请求获取的json数据,然后创建2个带有嵌套字典和列表的新json文件。我创建的2个json输出基本上包含有关与2个不同“项目”有关的“对象”的信息-重要的是对象名称和对象标识符。嵌套字典的任意输出json /列表通常看起来像这样:
projectA:[
{dashboardName: "v1",
dashboardID: "v2",
dashbTabs:[
{dashTabName: "v3",
dashTabID; "v4",
reports:[
{reportName: "v5",
reportID: "v6",
metrics:[
{metricName: "v7",
metricID: "v8"
},
{metricName:v9",
metricID: "v10"...
对于多个指标,报告和仪表板依此类推
现在,对于2个项目,我都有上面的json输出,我需要确定projectA中的任何ID是否与projectB中的ID相同。如果是这样,我需要知道具有匹配ID的对象的“路径”。
尽管对代码的帮助将不胜感激(我不是流利的编码员),但我正在寻求有关实现此目标的方法的建议。我考虑过首先将文件展平以获取所有ID的列表以及这些ID的路径,然后再对ID进行比较。或者,也可以遍历projectB中的所有ID并检查projectA中的匹配ID。也许有更好/更快的方法可以做到这一点?
我认为,如果我有一个带有projectA的“路径”的列,而另一个带有来自projectB的路径的列,则csv输出是有意义的,例如
col1 col2
dashboardName:v1/dashTabName:v3/reportName:v5 dashboardName:v1
请注意,在此示例中,它将是projectB中的dashboardID,与projectA中的reportID相同