shell中如何将 json 转为 string

将这个 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.2k
评论
    3 个回答

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

      • 2
      • 新人请关照
      replace_str="试试看?"
      origin_str="{
                  \"msgtype\": \"text\",
                  \"text\":{
                          \"content\":\"${replace_str}\"
                      }
              }"
      echo $origin_str
        • 0
        • 新人请关照

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

        该答案已被忽略,原因:

          撰写回答

          登录后参与交流、获取后续更新提醒

          相似问题
          推荐文章