使用 jq 构造带有可变键的 JSON
Construct JSON with a variable key using jq
我正在尝试使用 jq
构建一个散列,其中键名来自一个变量。像这样:
jq --null-input --arg key foobar '{$key: "value"}'
然而,这不起作用,并出现以下错误:
error: syntax error, unexpected '$'
{$key: "value"} 1 compile error
使用括号计算 $key
早于:
jq --null-input --arg key foobar '{($key): "value"}'
另请参阅:
您还可以在 jq
中使用 String interpolation,格式为 "\(..)"
。在字符串内部,您可以在反斜杠后的括号内放置一个表达式。无论表达式 returns 将被插入到字符串中。
你可以在下面做。变量 key
的内容被插值序列扩展并作为字符串返回。
jq --null-input --arg key foobar '{ "\($key)": "value"}'
我正在尝试使用 jq
构建一个散列,其中键名来自一个变量。像这样:
jq --null-input --arg key foobar '{$key: "value"}'
然而,这不起作用,并出现以下错误:
error: syntax error, unexpected '$'
{$key: "value"} 1 compile error
使用括号计算 $key
早于:
jq --null-input --arg key foobar '{($key): "value"}'
另请参阅:
您还可以在 jq
中使用 String interpolation,格式为 "\(..)"
。在字符串内部,您可以在反斜杠后的括号内放置一个表达式。无论表达式 returns 将被插入到字符串中。
你可以在下面做。变量 key
的内容被插值序列扩展并作为字符串返回。
jq --null-input --arg key foobar '{ "\($key)": "value"}'