gpt4 book ai didi

json - 来自 2 个文件的 2 个 JSON 对象中的总和值

转载 作者:行者123 更新时间:2023-12-04 15:26:31 26 4
gpt4 key购买 nike

我正在使用 jq 工具合并 2 个 json 文件,但有一些重复的键,我希望重复的键对它们的值求和。

文件如下:

文件1:

{
"total": {
"seconds": 1490
},
"days": {
"2020-05-20": {
"seconds": 1400
},
"2020-05-19": {
"seconds": 30
},
"2020-05-18": {
"seconds": 60
}
}
}

文件2:

{
"total": {
"seconds": 295
},
"days": {
"2020-05-22": {
"seconds": 120
},
"2020-05-21": {
"seconds": 80
},
"2020-05-20": {
"seconds": 95
}
}
}

预期输出:

{
"total": {
"seconds": 1785
},
"days": {
"2020-05-22": {
"seconds": 120
},
"2020-05-21": {
"seconds": 80
},
"2020-05-20": {
"seconds": 1495
},
"2020-05-19": {
"seconds": 30
},
"2020-05-18": {
"seconds": 60
}
}
}

我试过从这个命令开始,但不知道下一步该去哪里:

jq -s '.[0] * .[1]' file1 file2

最佳答案

下面的程序适用于您的示例,但如果您实际输入中的对象具有其他非数字值的键,则它将无法运行。

jq '. as $in |
reduce paths(numbers) as $p (input;
setpath($p; getpath($p) + ($in | getpath($p))
)' file1 file2

Online demo

关于json - 来自 2 个文件的 2 个 JSON 对象中的总和值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62149662/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com