我尝试过滤json JQ结果只显示原始字符串的子字符串。例如,如果JQ过滤器获得了值
4ffceab674ea8bb5ec421c612536696839bbaccecf64e851dfc270d795ee55d1
我希望它只返回前10个字符4ffceab674
。
在Official JQ website上你可以找到一个应该给我我需要的例子:
Command: jq '.[2:4]'
Input: "abcdefghi"
Output: "cd"
我试图在unix终端中用一个简单的例子来测试它:
# this works fine, => "abcdefghi"
echo '"abcdefghi"' | jq '.'
# this doesn't work => jq: error: Cannot index string with object
echo '"abcdefghi"' | jq '.[2:4]'
答案 0 :(得分:1)
因此,事实证明,大多数这些过滤器尚未发布。有关参考,请参阅问题#289
您可以做的是下载最新的开发版本并从源代码编译。见download page>来自Linux上的来源
之后,如果索引仍然不适用于字符串,那么至少应该能够进行爆炸,索引,内爆组合,这似乎是你的计划。
答案 1 :(得分:0)
查看jq-1.3 manual我怀疑没有使用该版本的解决方案,因为它没有提供用于获取字符串部分的基元。