変数を保存し、それを使用してファイルのjson出力を生成するスクリプトがあります。これは私のjsonビルド形式です。
#!/bin/bash
JSON_STRING=$(jq -n \
--arg configId "$configid" \
--arg objectname "tempfile" \
--arg artifacts "[{ "name" : "oer", "version" : "$ot" }]" \
--arg test "2021" \
'$ARGS.named') > output.json
必須json o / p(output.json) -
{ "configId": "c8f", "objectname": "tempfile", "artifacts": [{ "name" : "oer", "version" : "1.01" }], "test" : "2021"}
ここで予想される結果は出ません。どんな助けでもいいでしょう。
ベストアンサー1
私は2つのステップでそれを行います:(編集:アーティファクトはオブジェクトの配列です)
inner=$(jq -n --arg name oer \
--arg version "$ot" \
'$ARGS.named'
)
final=$(jq -n --arg configId "$configid" \
--arg objectname "tempfile" \
--arg test "2021" \
--argjson artifacts "[$inner]" \
'$ARGS.named'
)
echo "$final"
{
"configId": "c8f",
"objectname": "tempfile",
"artifacts": [
{
"name": "oer",
"version": "1.01"
}
], "test": "2021"
}
-c
最終出力を1行にするには。