【发布时间】:2017-12-22 15:45:46
【问题描述】:
带有--arg 和字符串连接的jq 解析器不能提供正确的json 输出。输入文件是'test.json',输出文件是'final.json'
这是输入的json文件 测试.json --------- { "ParameterKey1": "", “参数key2”:“” }
Tried test.json with 2nd filter
jq --arg inp4 "$keypassword" \
'if .ParameterKey1 == "<value1>"
then . + {"ParameterKey1" : ($input1) }
else . end' | jq --arg inp5 "$value2" \
'if .Parameterkey2 == "<value2>"
then . + {"value2" : ($input2) }
else . end' test.json > final.json
Tried test.json with 1st filter
jq --arg inp4 "$key" \
'if .ParameterKey1 == "<value1>"
then . + {"ParameterKey1" : ($input1) }
else . end' test.json | jq --arg inp5 "$value2" \
'if .Parameterkey2 == "<value2>"
then . + {"value2" : ($input2) }
else . end' > final.json
Tried test.json in both filters
jq --arg inp4 "$key" \
'if .ParameterKey1 == "<value1>"
then . + {"ParameterKey1" : ($inp4) }
else . end' test.json | jq --arg inp5 "$value2" \
'if .Parameterkey2 == "<value2>"
then . + {"value2" : ($inp5) }
else . end' test.json > final.json
Expected output: (final.json)
{
"ParameterKey1": "value",
"Parameterkey2": "value"
}
【问题讨论】:
标签: jq