{
"a": "jdsdjhsandks"
}
如何使用JQ表达式计算a
字段的模块化哈希?
jq
没有实现哈希函数,必须导出数据,应用外部工具并重新导入哈希。
例如,如果您的JSON位于一个名为input.json
的文件中,并且您使用bash
来调用jq
,您可以这样做:
# Export the data
data="$(jq -r '.a' input.json)"
# Apply an external tool
md5sum="$(printf '%.32s' "$(md5sum <<< "${data}")")"
# Re-import the hash
jq --arg md5sum "${md5sum}" '.a_md5 = $md5sum' input.json
或不使用变量
jq --arg md5sum "$(
printf '%.32s' "$(
md5sum <<< "$(
jq -r '.a' input.json
)"
)"
)" '.a_md5 = $md5sum' input.json