栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

使用jq将新元素添加到现有JSON数组

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用jq将新元素添加到现有JSON数组

|= .+
过滤器中的部件将新元素添加到现有数组。您可以使用
jq
类似的过滤器:

jq '.data.messages[3] |= . + {"date": "2010-01-07T19:55:99.999Z", "xml": "xml_samplesheet_2017_01_07_run_09.xml", "status": "OKKK", "message": "metadata loaded into iRODS successfullyyyyy"}' inputJson

为避免使用硬编码的长度值

3
并动态添加新元素,请使用
. | length
,它返回长度,该长度可用作下一个数组索引,即

jq '.data.messages[.data.messages| length] |= . + {"date": "2010-01-07T19:55:99.999Z", "xml": "xml_samplesheet_2017_01_07_run_09.xml", "status": "OKKK", "message": "metadata loaded into iRODS successfullyyyyy"}' inputJson

(或)根据评论中峰的建议,

+=
仅使用运算符

jq '.data.messages += [{"date": "2010-01-07T19:55:99.999Z", "xml": "xml_samplesheet_2017_01_07_run_09.xml", "status": "OKKK", "message": "metadata loaded into iRODS successfullyyyyy"}]'

产生所需的输出:

{  "report": "1.0",  "data": {    "date": "2010-01-07",    "messages": [      {        "date": "2010-01-07T19:58:42.949Z",        "xml": "xml_samplesheet_2017_01_07_run_09.xml",        "status": "OK",        "message": "metadata loaded into iRODS successfully"      },      {        "date": "2010-01-07T20:22:46.949Z",        "xml": "xml_samplesheet_2017_01_07_run_09.xml",        "status": "NOK",        "message": "metadata duplicated into iRODS"      },      {        "date": "2010-01-07T22:11:55.949Z",        "xml": "xml_samplesheet_2017_01_07_run_09.xml",        "status": "NOK",        "message": "metadata was not validated by XSD schema"      },      {        "date": "2010-01-07T19:55:99.999Z",        "xml": "xml_samplesheet_2017_01_07_run_09.xml",        "status": "OKKK",        "message": "metadata loaded into iRODS successfullyyyyy"      }    ]  }}

使用jq-play试运行

jq-filter
并优化您想要的任何方式。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/446550.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号