gpt4 book ai didi

json - jq没有用参数替换json值

转载 作者:行者123 更新时间:2023-12-04 23:14:10 28 4
gpt4 key购买 nike

test.sh 不会替换 test.json 参数值($input1 和 $input2)。 result.json 具有相同的 ParameterValue "$input1/solution/$input2.result"

 [
{
"ParameterKey": "Project",
"ParameterValue": [ "$input1/solution/$input2.result" ]
}
]

测试文件
#!/bin/bash
input1="test1"
input2="test2"
echo $input1
echo $input2
cat test.json | jq 'map(if .ParameterKey == "Project" then . + {"ParameterValue" : "$input1/solution/$input2.result" } else . end )' > result.json

最佳答案

jq 脚本中的 shell 变量应该通过 --arg name value 内插或作为参数传递:

jq --arg inp1 "$input1" --arg inp2 "$input2" \
'map(if .ParameterKey == "Project"
then . + {"ParameterValue" : ($inp1 + "/solution/" + $inp2 + ".result") }
else . end)' test.json

输出:
[
{
"ParameterKey": "Project",
"ParameterValue": "test1/solution/test2.result"
}
]

关于json - jq没有用参数替换json值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47374719/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com