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

如何使用jq为JSON数组对象添加键为server值、值为status值的字段

使用jq为JSON对象动态添加字段

需求说明

我们需要处理一个JSON数组,为数组中的每个对象新增一个字段:字段名是原对象里server字段的值,字段值是原对象里status字段的值。

示例输入

[{ "organizationId": "org1", "runtimeVersion": "3545", "type": "rest-api", "server": "test1", "status": "UP" }]

期望输出

[{ "organizationId": "org1", "runtimeVersion": "3545", "type": "rest-api", "server": "test1", "status": "UP", "test1": "UP" }]

jq解决方案

可以用下面的jq命令实现这个需求:

jq 'map(. + { (.server): .status })' input.json > output.json

命令解释

  • map(...):遍历JSON数组中的每一个对象,对每个对象执行括号内的操作
  • . + { (.server): .status }:
    • . 代表当前处理的对象
    • + 用于合并两个对象,把新的键值对添加到原对象中
    • { (.server): .status }:这是jq里的动态键名写法,括号里的.server会被求值为对应的字符串(比如示例里的test1),然后把这个字符串作为键,对应的值是.status(示例里的UP)

你可以直接把这个命令用到你的场景里,只要把input.json换成你的输入文件路径,output.json换成你想要输出的文件路径就行。如果是从标准输入读取的话,直接去掉文件名部分,用管道输入即可。

内容的提问来源于stack exchange,提问作者Naveen K Reddy

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 07:15:12