You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用JQ将Map转为空格分隔的-var="key=value"格式字符串?

使用JQ将JSON对象转换为空格分隔的-var="key=value"格式字符串

需求说明

输入JSON对象:

{
  "foo": "bar",
  "baz": "qux"
}

需要转换为:

-var="foo=bar" -var="baz=qux"

解决方案

你只需要在现有逻辑基础上,用map()生成目标字符串数组,再通过join(" ")将数组元素用空格连接即可,完整命令如下:

jq -r 'to_entries | map("-var=\"\(.key)=\(.value)\"") | join(" ")'

命令解释

  1. to_entries:将输入的JSON对象转换为包含键值对的数组,格式为[{"key":"foo","value":"bar"}, {"key":"baz","value":"qux"}]
  2. map("-var=\"\(.key)=\(.value)\""):遍历数组中的每个元素,生成对应的-var="key=value"格式字符串,得到数组["-var=\"foo=bar\"", "-var=\"baz=qux\""]
  3. join(" "):将数组中的所有字符串用空格连接成单行结果

执行效果

执行上述命令后,会直接输出你需要的单行格式:

-var="foo=bar" -var="baz=qux"

内容的提问来源于stack exchange,提问作者Jordan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 21:37:39