shell中如何将 json 转为 string

TecOOler
  • 98

将这个 JSON 如何转为字符串,通过 shell 命令

{
      "room_name":"test",
      "user_id":"testid",
      "perm":"admin",
      "expire_at":1785600000000
}

转化为如下效果

{"room_name":"test","user_id":"testid","perm":"admin","expire_at":1785600000000}

如果直接这样传值,单引号会导致 "test" "testid" 这样的值不能使用 $n 替换

roomAccessString='{"room_name":$1,"user_id":$2,"perm":$3,"expire_at":$4}'
回复
阅读 3.7k
3 个回答

至少你先明白一点,单引号括起来的字符串是不会发生变量替换的。。。

KennyGui
  • 2
新手上路,请多包涵
replace_str="试试看?"
origin_str="{
            \"msgtype\": \"text\",
            \"text\":{
                    \"content\":\"${replace_str}\"
                }
        }"
echo $origin_str
billxie1988
  • 0
新手上路,请多包涵

把单引号 变成双引号roomAccessString="{"room_name":$1,"user_id":$2,"perm":$3,"expire_at":$4}"

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
你知道吗?

宣传栏