如何在使用 jq 分配后取回完整文件?

How to get back full file after assignment with jq?

jq▸play example

这个过滤器:

.versions[].columns[] | select(.type == "varchar" and .length < 255) | .length = 255

按我喜欢的方式更新我的数据,但我想最终取回完整的 file/input,而不仅仅是修改过的列。我该怎么做?

我不想删除与 select 不匹配的列(保持不变)

只需更新您的 .columns 属性:

.versions[].columns
 |= map(if (.type == "varchar" and .length < 255) then .length = 255 else . end)

https://jqplay.org/s/xjMiqANQ3p