У меня есть 2 набора JSON -файлов, похожих на приведенные ниже, data-A.json
и data-B.json
.
Мне нужно как-то сравнить ключ URL
в data-A.json
с тем же ключом в data-B.json
. В случае совпадения возьмите данные с ключа Position
в data-A.json
и запишите в новый ключ PreviousPosition
в data-B.json
. Если не найдено совпадений URL
, запишите нулевое значение для этого нового ключа в data-B.json
См. Примеры:
data-A. json
[
{
"Position": "1",
"TrackName": "One hit wonder",
"URL": "https://domain.local/xyz123"
},
{
"Position": "2",
"TrackName": "Random song",
"URL": "https://domain.local/123qwe"
},
{
"Position": "3",
"TrackName": "Dueling banjos",
"URL": "https://domain.local/asd456"
}
]
data-B. json
[
{
"Position": "1",
"TrackName": "Rocket",
"URL": "https://domain.local/nbs678"
},
{
"Position": "2",
"TrackName": "Dueling banjos",
"URL": "https://domain.local/asd456"
},
{
"Position": "3",
"TrackName": "One hit wonder",
"URL": "https://domain.local/xyz123"
}
]
(желательно) data-B. json
[
{
"Position": "1",
"TrackName": "Rocket",
"URL": "https://domain.local/nbs678",
"PreviousPosition": null
},
{
"Position": "2",
"TrackName": "Dueling banjos",
"URL": "https://domain.local/asd456",
"PreviousPosition": "3"
},
{
"Position": "3",
"TrackName": "One hit wonder",
"URL": "https://domain.local/xyz123",
"PreviousPosition": "1"
}
]
Я предпринял несколько посредственных попыток решить эту проблему, используя jq , но безуспешно. Также попробовал некоторые PowerShell и Python, но я просто не могу понять.
Есть предложения?