Обход json для удаления пустых полей с помощью jq - PullRequest
0 голосов
/ 30 апреля 2020

У меня есть JSON следующим образом, но мне нужен способ удалить нули перед тем, как поместить его вasticsearch. Ищите простую команду jq для удаления нулей, которые я могу включить в мой bash скрипт, если только не существует способа сделать это вasticsearch

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

Спасибо

1 Ответ

1 голос
/ 30 апреля 2020

Эта проблема GitHub для удаления нулевого ключа и значений из JSON может помочь вам, короче говоря, вам может понравиться какая-то горстка команд, упомянутых в этой ссылке:

del(.[][] | nulls)

Обратите внимание, что есть несколько способов сделать это, пожалуйста, проверьте, какой из них работает для вас.

Как указано в комментариях @oguz, используйте https://github.com/stedolan/jq/issues/104#issuecomment -289637207 , которые работают с последней версией.

...