使用JQ,我想将一个(嵌套的)对象数组展平为一个字符串array.

例如,给定输入

{
  "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"
  ]
}

但我正在为扁平化route个 node 而苦苦挣扎-不会比

 .result.info | { name: .name, route: .route }

这基本上保持路由 node 不变.这可能是直截了当的,但我目前仍难以理解.

推荐答案

这里有一种你可以做的方法,它非常接近你的try .

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

输出示例:

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

试穿一下jqplay.org号.

Json相关问答推荐

中间初始化的Jolt配置

如何在Power BI中集成API和JSON数据后将数据转换为表?

Postgres Select json数组并重新映射属性名称

使用JQ从jsonl文件中删除具有匹配键/值的行

用巨大的值更新SQL Server中的nvarchar(max)

使用 jq 重新格式化 JSON 输出

如何使用Powershell查找所有包含特定键值对的JSON对象并迭代所有对象?

如何按键过滤

如何在jolt中使用shift和modify-overwrite-beta

在Flutter 中将 map 的 Json 转换为 list

从 JSON 响应中获取最新版本发布字段

Serde JSON 反序列化枚举

如何在linux中用jq过滤json数组?

使用 BASH 和 JQ 我想将 json 文件与 bash 数组进行比较

如何为所有 API 端点全局设置 http.ResponseWriter Content-Type 标头?

使用 JSONObject 在 Java 中为以下 struct 创建嵌套 JSON 对象?

jQuery fullcalendar 发送自定义参数并使用 JSON 刷新日历

为不同类型的项目数组正确的 JSON Schema

Volley JsonObjectRequest Post 参数不再起作用

为什么 RestTemplate 不将响应表示绑定到 PagedResources?