JQ将属性添加到嵌套数组中的嵌套对象

时间:2018-09-21 09:56:36

标签: json jq

我有以下json:

DbSet

我希望使用父级的{ "first": { "second" : "A" }, "array": [ { "name" : "AAA", "something": { "hola": "hi" } }, { "name" : "BBB", "something": { "hola": "hi" } } ] } 属性中的值来将其添加到something对象中,例如:

我有以下json:

name

哪个jq表达式可以做到这一点?

2 个答案:

答案 0 :(得分:2)

尝试以下jq脚本:

<file jq '.array = [ .array[] | .something.NEW_PROPERTY = .name ]'

这是将array替换为与原来的NEW_PROPERTY相同的另一个,另外还有一个密钥requestPermission

答案 1 :(得分:0)

您可以简单地使用过滤器:

.array |= map(.something.NEW_PROPERTY = .name)

或者如果不是map不是您的事(或者如果您想保存输入一个字符):

.array[] |= (.something.NEW_PROPERTY = .name)