如何使用JQ计算JSON指定字段的mod hash值?
JQ计算字符串字段mod哈希值的方法
待处理示例JSON
{ "a": "jdsdjhsandks" }
具体实现方式
JQ内置了hash函数可以直接生成字符串的整数哈希值,对哈希结果取模即可得到目标mod hash值,通用表达式格式如下:
.a | hash % 替换为你需要的模数
例如需要计算对100取模的哈希值,表达式为:
.a | hash % 100
终端运行示例
执行以下命令即可直接得到计算结果:
echo '{"a": "jdsdjhsandks"}' | jq '.a | hash % 100'
如果需要输出纯数值、不带JSON默认的引号格式,可以添加-r参数:
echo '{"a": "jdsdjhsandks"}' | jq -r '.a | hash % 100'
注意事项
- 不同版本JQ的
hash函数实现逻辑存在差异,相同字符串在不同版本下计算得到的哈希值可能不同,跨环境使用时建议先对齐JQ版本。
内容的提问来源于stack exchange,提问作者Harshit
相关产品推荐
相关产品推荐

