使用Bash变量构建JSON字符串
我需要将这些bash变量读入JSON字符串,而我对bash并不熟悉。任何帮助表示赞赏。
#!/bin/shBUCKET_NAME=testbucket
OBJECT_NAME=testworkflow-2.0.1.jar
TARGET_LOCATION=/opt/test/testworkflow-2.0.1.jar
JSON_STRING='{"bucketname":"$BUCKET_NAME"","objectname":"$OBJECT_NAME","targetlocation":"$TARGET_LOCATION"}'
echo $JSON_STRING
回答:
jq
如果您不提前知道变量的内容是否正确转义以包含在JSON中,则最好使用类似生成JSON 的程序。否则,您将因麻烦而最终使用无效的JSON。
BUCKET_NAME=testbucketOBJECT_NAME=testworkflow-2.0.1.jar
TARGET_LOCATION=/opt/test/testworkflow-2.0.1.jar
JSON_STRING=$( jq -n \
--arg bn "$BUCKET_NAME" \
--arg on "$OBJECT_NAME" \
--arg tl "$TARGET_LOCATION" \
'{bucketname: $bn, objectname: $on, targetlocation: $tl}' )
以上是 使用Bash变量构建JSON字符串 的全部内容, 来源链接: utcz.com/qa/414964.html