修改JSON配置文件的最简单方法

时间:2019-02-26 13:56:07

标签: json cmd jq

我有不同大小(n个条目)的文件,例如:

{
    "FOO": {
        "myParameters": ["first", "second", "third", "forth", "fifth"]
    },
    "bar": {
        "myParameters": ["first", "third"]
    },
    "BAZQUUX": {
        "myParameters": ["first", "second", "third", "forth", "fifth", "sixth", "seventh", "eighth", "ninth"]
    }
}

,我想这样修改它:

{
    "FOO": {
        "myParameters": ["first", "third"]
    },
    "bar": {
        "myParameters": ["first", "third"]
    },
    "BAZQUUX": {
        "myParameters": ["first", "third"]
    }
}

因此, bar 对象的属性 myParameters (包含两个项目的数组)应该是所有其余对象( FOO BAZQUUX 等),则应采用 bar 的属性,而放弃其现有属性。

是否有通过jq实现此目的的简单方法?

批处理脚本需要它。

1 个答案:

答案 0 :(得分:0)

您可以尝试以下jq脚本:

<file jq '.bar as $b | .[] |= $b'

这会将对象bar分配给变量$b,并用该变量替换所有元素。