Используя спецификацию JOLT на NiFi, как удалить массивы, содержащие только пустые строки?

1
7

Вот входной JSON, который я помещу в процессор преобразования JOLT в NiFi.

И мой ожидаемый выходной JSON:

Обратите внимание, что эти поля были удалены:

Поскольку они являются пустыми строками в массивах, я не хочу включать их в результирующий объект JSON.

Как мне создать спецификацию JOLT для этого?

Я попробовал эту спецификацию, чтобы удалить пустые массивы.

Это не сработало

и просто вернуло:

Он удалил все поля с пустыми массивами.

  "guests" : {
    "amy" : "amy",
    "theresa" : [ "Chef" ],
    "jim" : [ "Bear Specialist" ],
    "john" : [ "Tour Guide" ],
    "heather" : [ "" ],
    "brad" : [ "" ],
    "thomas" : [ "" ],
    "jane" : [ "" ]
  },
  "dataSchema" : "dataSchema",
  "data" : {
    "key1" : "value1",
    "key2" : {
      "key3" : "value3",
    },
    "label" : "dummyLabel",
    "campingEquipment" : {
      "someKey" : "someValue"
    }
    },
    "mountainRange" : {
      "elevation" : "8000",
      "temperature" : "50"
    }
}
{
  "guests" : {
    "amy" : "amy",
    "theresa" : [ "Chef" ],
    "jim" : [ "Bear Specialist" ],
    "john" : [ "Tour Guide" ]
  },
  "dataSchema" : "dataSchema",
  "data" : {
    "key1" : "value1",
    "key2" : {
      "key3" : "value3",
    },
    "label" : "dummyLabel",
    "campingEquipment" : {
      "someKey" : "someValue"
    }
    },
    "mountainRange" : {
      "elevation" : "8000",
      "temperature" : "50"
    }
}
    "heather" : [ "" ],
    "brad" : [ "" ],
    "thomas" : [ "" ],
    "jane" : [ "" ]
[
  {
    "operation": "modify-overwrite-beta",
    "spec": {
      "guests": {
        "theresa": "=recursivelySquashNulls",
        "jim": "=recursivelySquashNulls",
        "john": "=recursivelySquashNulls",
        "heather": "=recursivelySquashNulls",
        "brad": "=recursivelySquashNulls",
        "thomas": "=recursivelySquashNulls",
        "jane": "=recursivelySquashNulls"
      }
    }
  },
  {
    "operation": "remove",
    "spec": {
      "guests": {
        "theresa": "",
        "jim": "",
        "john": "",
        "heather": "",
        "brad": "",
        "thomas": "",
        "jane": ""
      }
    }
  }
]
  "guests" : {
    "amy" : "amy"
  },
Лонгин
Вопрос задан19 февраля 2024 г.

1 Ответ

2
Митофан
Ответ получен6 сентября 2024 г.

Ваш ответ

Загрузить файл.