[英]Traversing a json to remove nulls fields using jq
我有一个 JSON 如下,但需要一种方法在将其放入 elasticsearch 之前删除空值。 寻找一个简单的 jq 命令来删除可以合并到我的 bash 脚本中的空值,除非在 elasticsearch 中有这样做的方法
{
"master_no": {
"master_no": 100000000,
"barcode": "E00000000",
"external_key": null,
"umid": null
},
"cust_id": {
"other_cust_id": null,
"cust_reference": null,
"external_key": null,
"list_id": null,
"cust_id": null
},
"customer_name": null,
"master_desc": "test Custom Patch - test",
"barcode": "E00000000",
"container_master_no": null,
"master_status": "I",
"length": "0:00",
"format_no": {
"format_desc": null,
"external_key": null,
"format_no": null
},
"lib_master_audio": [
{
"master_no": 10000000,
"audio_channel_no": {
"audio_channel_no": 10,
"audio_channel": "1",
"external_key": null
}
},
{
"master_no": 100000000,
"audio_channel_no": {
"audio_channel_no": 10,
"audio_channel": "2",
"external_key": null
}
}
]
}
谢谢
这个关于从 JSON 中删除 null 键和值的 GitHub问题可以帮助您,简而言之,一些命令可能会对您有所帮助,在此链接中提到:
del(.[][] | nulls)
请注意有几种方法可以做到这一点,请检查哪一种适合您。
正如@oguz 在评论中指出的那样,请使用与最新版本一起使用的https://github.com/stedolan/jq/issues/104#issuecomment-289637207 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.