json - 用 JQ 中另一个文件中的对象替换嵌套对象
问题描述
我有一个具有以下结构的 json 文件
{
"a":"aval",
"b":{},
"c":"cval"
}
我有另一个包含以下内容的 json 文件
{
"b1":"b1val","b2":"b2val"
}
我想将文件 2 中的 json 对象推入文件 1 中的“b”中
{
"a":"aval",
"b":{
"b1":"b1val","b2":"b2val"
},
"c":"cval"
}
我如何用 JQ 做到这一点
解决方案
假设文件 #2 可能不是空的,您可以简单地分配input
给.b
.
jq '.b = input' file1 file2
否则,您将使用以下内容来保留.b
文件 #2 为空时的原始值。
jq -n 'input | .b = first(inputs, .b)' file1 file2
推荐阅读
- r - R如何使用dplyr::mutate和if_else根据条件更改变量的值?
- python - 优化逻辑计算器python
- c - 指针值修改行为
- amazon-dynamodb - Amazon Dynamo DB 价格测验
- android - android-studio 的程序在尝试运行时崩溃
- delphi - 如何使用具有两个不同类但其中一个来自 VCL 的泛型
- python-3.x - 在数组中排列来自seaborn的条形图
- python - 有没有不使用任何框架的 Conv Net 教程?
- ios - CollectionViewController Header 从屏幕边缘 Swift 4 开始
- python - 在二叉树中递归返回一个布尔值?