Json 对jq中的值运行终端操作
这简化了我的输入:Json 对jq中的值运行终端操作,json,base64,decode,jq,Json,Base64,Decode,Jq,这简化了我的输入: [ { "Index": 1, "Data": "aGVsbG8gaXRlbSAx" }, { "Index": 2, "Data": "dGhpcyBpcyBpdGVtIDI=" } ] 我需要用解码文本替换B64加密数据 我解码加密字符串的命令如下所示: base64-Djq1.6可以使用@base64d字符串格式化程序对base64数据进行内部解码: $ jq '[.[] | . + { Data: .Data
[
{
"Index": 1,
"Data": "aGVsbG8gaXRlbSAx"
},
{
"Index": 2,
"Data": "dGhpcyBpcyBpdGVtIDI="
}
]
我需要用解码文本替换B64加密数据
我解码加密字符串的命令如下所示:
base64-Djq
1.6可以使用@base64d
字符串格式化程序对base64数据进行内部解码:
$ jq '[.[] | . + { Data: .Data | @base64d }]' input.json
[
{
"Index": 1,
"Data": "hello item 1"
},
{
"Index": 2,
"Data": "this is item 2"
}
]
简言之:
map( .Data |= @base64d )
如果我想要的操作没有内置到jq中,我可以做类似的替换吗?@Dmitry这是一些很棒的功能!当我打算限制我的依赖,并分配我的工具,HOBBURW。我正在处理下一个版本的代码> JTC < /Cord>,一旦它准备好了(ETA是几个星期),我打算在包装上写代码> JTC <代码>,谢谢!如果我想要的操作没有内置到jq中,我可以做类似的替换吗?不容易,至少一般来说是这样。一种可能不明显的方法是使用jq--stream
。