有没有办法截断字段数据

时间:2015-12-10 22:12:09

标签: jq

我有一些很长的领域,但我只是想看看它们的开头。有没有办法将字段截断为只有前X个字符?

2 个答案:

答案 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"]}