Я пытаюсь заменить значение ключа в моем исходном JSON значением объекта с соответствующим ключом в другом документе.
Это мои два файла: Файл 1:
{
"-KaM0otlgWxXniYiacFe": {
"-LNxx1IiX6oYTxJ4IXx2": true
},
"-KlJTvbfonIMI_-YfS5R": {
"-LNxx1IbaB-yrZ623hrX": true
}
}
Файл 2:
{
"-KaM0otlgWxXniYiacFe": {
"a": "-L-b__nH9PlMcz0stDDE",
"b": "-L7ZNKSZy570TlrQUzHM",
"c": "-Kaae3MsQUyViCKPs8Iv"
},
"-KlJTvbfonIMI_-YfS5R": {
"a": "-LAlXKfUUTdYDeCZH-u-",
"b": "-L7ZNKSTnob7w0HXjHr6",
" c": "-KYYicPD7VA9DEF_rus3"
}
}
Цель состоит в том, чтобы создать 3 новых файла, в которых оригинальные ключи были заменены значениями a, b и c в каждом файле.
Желаемый результат при взгляде на «a»:
{
"-L-b__nH9PlMcz0stDDE": {
"-LNxx1IiX6oYTxJ4IXx2": true
},
"-LAlXKfUUTdYDeCZH-u-": {
"-LNxx1IbaB-yrZ623hrX": true
}
}
Я пытался использовать что-то вроде:
cat file1.json | jq --slurpfile file2 file2.json '| map(with_entries(.key = .file2[.key].a'
Но я чувствую себя довольно невежественным, когда у меня естьраньше не использовал jq.
Любая помощь приветствуется.
Обновление:
Как мне обработать сценарий, в котором ключ из файла 1 можетне существует в файле 2, в результате чего «Невозможно использовать нуль (ноль) в качестве ключа объекта»?