我有一些很长的领域,但我只是想看看它们的开头。有没有办法将字段截断为只有前X个字符?
答案 0 :(得分:7)
如果你的意思是修剪长弦,当然。找出要修剪的弦,然后修剪它们。
例如,将字符串修剪为前10个字符$ echo '"12345678901234567890"' | jq '.[0:10]'
读取,取字符串的前0-10个字符。
答案 1 :(得分:0)
如果要递归修剪所有字符串:
.. |= (if type == "string" then .[0:2] else . end)
例如,如果输入为:
{"a": "aaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"b": "bbbbbbbbbbbbbbbbbbbbbbbbbb",
"c": ["ddddddddddddddd"]
}
输出(压缩)将是:
{"a":"aa","b":"bb","c":["dd"]}