我在echo中得到了shell脚本的最终结果,我想将其转换为json对象



我得到了一个长shell脚本的最终结果,我想将其转换为json对象。有没有任何简单的方法可以将echo|导入

echo "name=$get_name
pass=$get_pass
value=$get_value
key=$get_key
port=$get_port
server_ip=$get_ip" | jq 

我想得到像这个json 一样的结果

     {
      "pass": "$get_pass"
       "value": "$get_value"
       "key": "$get_key"
        "port": "$get_port"
        "server_ip": "$get_ip"
       }
echo 'name=$get_name
pass=$get_pass
value=$get_value
key=$get_key
port=$get_port
server_ip=$get_ip' | jq -Rs '
  split("n")
  | map(capture("(?<k>^[^=]*)=(?<v>.*)")  | {(.k): .v} )
  | add'

以您指示的格式生成输出:

{
  "name": "$get_name",
  "pass": "$get_pass",
  "value": "$get_value",
  "key": "$get_key",
  "port": "$get_port",
  "server_ip": "$get_ip"
}

显然,如果您希望$get_name在echo时间进行评估,那么您应该使用双引号。

最新更新