使用Bash变量构建JSON字符串

我需要将这些bash变量读入JSON字符串,而我对bash并不熟悉。任何帮助表示赞赏。

#!/bin/sh

BUCKET_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=testbucket

OBJECT_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

回到顶部