Я ищу предложения по лучшему подходу при сравнении файлов json с использованием python3 и выводе соответствующего ключа, пар значений
Я написал скрипт python для циклического прохождения данных json, полученных через несколько запросов API, а затем для создания 2 новых файлов json с вложенными словарями и списками. 2 вывода json, которые я создал, в основном содержат информацию об «объектах», относящихся к двум разным «проектам» - в первую очередь об Именах объектов и Идентификаторах объектов. Произвольный вывод json / list вложенных словарей, как правило, будет выглядеть примерно так:
projectA:[
{dashboardName: "v1",
dashboardID: "v2",
dashbTabs:[
{dashTabName: "v3",
dashTabID; "v4",
reports:[
{reportName: "v5",
reportID: "v6",
metrics:[
{metricName: "v7",
metricID: "v8"
},
{metricName:v9",
metricID: "v10"...
и т. Д. Для нескольких метрик, отчетов и панелей мониторинга
Теперь, когда у меня есть вышеуказанные выходные данные json для каждого из 2 проектов, мне нужно выяснить, совпадают ли какие-либо идентификаторы в projectA с идентификаторами в projectB. Если это так, мне нужно знать «путь» объектов с соответствующими идентификаторами.
Хотя помощь с кодом была бы очень признательна (я не беглый программист), я ищу предложения о подходе для достижения этой цели. Сначала я рассмотрел выравнивание файлов, чтобы получить список всех идентификаторов и их пути, а затем провел сравнение идентификаторов. Или, в качестве альтернативы, можно просмотреть все идентификаторы в projectB и проверить соответствие идентификаторов в projectA. Или, возможно, есть лучший / более быстрый способ сделать это?
Я думаю, что вывод в формате csv будет иметь смысл, когда у меня есть один столбец с «путем» из projectA и другой столбец с путем из projectB, например,
col1 col2
dashboardName:v1/dashTabName:v3/reportName:v5 dashboardName:v1
Обратите внимание, что в этом примере это будет dashboardID в projectB, который совпадает с reportID в projectA