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

如何使用jq将嵌套对象数组转换为扁平化字符串数组?

使用jq将嵌套对象数组转换为字符串数组

你只需要对.route数组使用map(.nodename)提取每个对象中的nodename字段,替换原命令中直接引用.route的部分即可。

完整jq命令

.result.info | { name: .name, route: .route | map(.nodename) }

命令说明

  • .result.info:定位到目标数据所在的层级
  • { name: .name }:保留原有的name字段
  • route: .route | map(.nodename):遍历route数组中的每个对象,提取每个对象的nodename值,将对象数组转换为字符串数组

验证示例

输入JSON:

{
  "message-id": 1,
  "result": {
    "info": {
      "id": 1,
      "name": "foobar",
      "route": [
        {
          "nodeid": 1,
          "nodename": "name-1"
        },
        {
          "nodeid": 2,
          "nodename": "name-2"
        }
      ]
    }
  }
}

执行命令后输出:

{
  "name": "foobar",
  "route": [
    "name-1",
    "name-2"
  ]
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 22:40:06