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

如何使用yq将指定JSON转换为目标YAML格式?

如何使用yq将指定JSON转换为目标YAML格式?

嗨,我来帮你搞定这个yq转换的问题!看起来你想要把输入JSON里的name字段值作为键,values数组里的第一个元素作为对应的值,生成一个简洁的键值对YAML。

先再明确下你的输入和目标:

输入JSON:

{
  "name": "Fruit",
  "values": [
    "banana"
  ]
}

目标YAML:

Fruit: banana

你之前尝试的命令语法有点问题,我给你一个正确的yq命令(基于常用的mikefarah/yq版本):

yq '.name as $key | {($key): .values[0]}' input.json

命令解释:

  • .name as $key:先把JSON里name字段的值(也就是"Fruit")存到变量$key里
  • {($key): .values[0]}:创建一个新的对象,用变量$key作为键(这里用括号包裹是为了让yq识别这是一个动态键),然后取values数组的第一个元素(也就是"banana")作为对应的值

如果你的输入是通过管道传递的(比如从标准输入读取),也可以这么用:

cat input.json | yq '.name as $key | {($key): .values[0]}'

执行这个命令后,就能得到你想要的目标YAML啦。

备注:内容来源于stack exchange,提问作者Amey

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.21 14:18:01