考虑以下json:
[
{
"propertyA": 11,
"nestedPropertyB": [ 12 ]
},
{
"propertyA": 21
}
]
我想得到如下结果:
[
{
"propertyA": 11,
"propertyB": 12
},
{
"propertyA": 21,
"propertyB": null
}
]
我希望在这里使用数组流,但是它对我不起作用。使用:
jq "map({propertyB: .nestedPropertyB[]} + . | del(.nestedPropertyB))"
导致异常:
jq: error (at <stdin>:10): Cannot iterate over null (null)
但是,当我使用可空数组流时,第二个对象被丢弃了。
jq "map({propertyB: .nestedPropertyB[]?} + . | del(.nestedPropertyB))"
导致:
[
{
"propertyB": 2,
"propertyA": 1
}
]
我将感谢帮助我解决这个问题。
1条答案
按热度按时间ubof19bj1#
您可以使用替代运算子
//
来设定预设值:第一个
Demo