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

如何用jq将嵌套JSON的数组及对象转换为扁平化形式?

JSON结构扁平化处理方案

输入JSON

{"computers":
    [{"host":"example",
    "platform":"some_platform",
    "status":
        {"working":"yes",
        "display":["no"]},
    "description":""
    }]
}

目标输出JSON

(注:修正了原目标的JSON语法错误,确保结构合法)

{"computers": {
    "host":"example",
    "platform":"some_platform",
    "working":"yes",
    "display":"no",
    "description":""
}}

处理命令(用jq工具)

直接执行下面的命令就能完成所有转换:

jq '.computers = .computers[0] | .computers += .computers.status | del(.computers.status) | .computers.display = .computers.display[0]' input.json

命令拆解

  • .computers = .computers[0]:去掉computers字段的数组包裹,直接取数组第一个对象作为该字段的值
  • .computers += .computers.status:把status嵌套对象里的所有键值对合并到computers对象中
  • del(.computers.status):删除computers里原有的status字段
  • .computers.display = .computers.display[0]:将display的数组值转为单个元素值

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 07:15:42