小编jad*_*ado的帖子

jq 将参数作为新字段的键传递

我正在尝试使用 jq 在 json 文件中添加新字段:

jq -r --arg k "foo" --arg v "bar"  '.newField += {$k:$v}' myfile
Run Code Online (Sandbox Code Playgroud)

但它的结果是:

jq: error: syntax error, unexpected ':', expecting '}' (Unix shell quoting issues?) at <top-level>, line 1:
.newField += {$k:$v}                
jq: error: May need parentheses around object key expression at <top-level>, line 1:
.newField += {$k:$v}              
jq: 2 compile errors

Run Code Online (Sandbox Code Playgroud)

当我删除像下面这样的关键变量时,它工作正常:

jq -r --arg k "foo" --arg v "bar"  '.newField += {"static_key":$v}' myfile
Run Code Online (Sandbox Code Playgroud)

知道如何使用 jq arg 中的键名吗?

bash json key jq

1
推荐指数
1
解决办法
1981
查看次数

标签 统计

bash ×1

jq ×1

json ×1

key ×1