簡體   English   中英

用 jq 轉換 json object,用 base64 解碼轉換值

[英]Transform json object with jq, transforming values with base64 decode

我正在使用看起來像這樣的 json object:

{
    "someattrinbute": "somevalue",
    "data": {
        "SOMENAME": "...",
        "SOMEOTHERNAME": "...",
        ...
    }
}

其中“數據”object 中的所有值都是 base64 編碼的。 我想生成相同的 json,但“數據”object 中的所有屬性值都是 base64 解碼的。

我相信這將涉及使用“to_entries”、“from_entries”和“@base64d”function,但我看不出如何將 package 一起使用。

我將在 bash shell 腳本中執行此操作。

給定示例。json:

{
    "someattrinbute": "somevalue",
    "data": {
        "SOMENAME": "MTIz",
        "SOMEOTHERNAME": "NDU2"

    }
}

調用:

$ jq '.data[] |= @base64d' example.json

產生:

{
  "someattrinbute": "somevalue",
  "data": {
    "SOMENAME": "123",
    "SOMEOTHERNAME": "456"
  }
}

map_values可用於將@base64d function 應用於 object 的每個元素。

例如

jq '.data|map_values(@base64d)' example.json

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM