在shell中传入带双引号的变量 |
---|
-d ‘{ “username”:“user”, “role”:[“role”] }’ |
引入变量a |
---|
-d ‘{ “username”:"$a", “role”:[“role”] }’ |
出错,JSON格式报错,因为变量带引号被当做字符串标识符 |
引号转义 |
---|
-d ‘{ “username”:\"$a\", “role”:[“role”] }’ |
出错,JSON格式报错,需要将变量标识为文本 |
嵌套引号 |
---|
-d ‘{ “username”:“\"$a\"”, “role”:[“role”] }’ |
正确,但是执行结果出错,变量被当做字符串传入 |
正确执行 |
---|
-d ‘{ “username”:‘\"$a\"’, “role”:[“role”] }’ |
将外部的双引号换成单引号解决两个双引号嵌套内部双引号被识别为文本的问题 |