我想知道这是否可行。 有一个像这样的对象:
data.json:
[
{"DATE":"September","VALUE":[5,17,8,9]}
]
如您所见,数组“VALUE”目前包含4个数字。 (这可能会有所不同)。但是,我希望它始终包含 - 让我们说10 - 数字。
因此,数组应填充零。
结果应如下所示:
data.json:
[
{"DATE":"September","VALUE":[5,17,8,9,0,0,0,0,0,0]}
]
当然,初始数组可能已包含10个值的预期计数。然后,什么都不应该改变。
答案 0 :(得分:3)
如果数组最初太长,可以很容易地修改以截断数组,如果需要的话:
def expand(n; value): . + [range(length;n) | value];
map(.VALUE |= expand(10;0))
jq 'map(.VALUE|=.+[range(length;10)|0])' data.json | sponge data.json