Удаление элементов Json из массива Json, если какое-либо свойство является пустым, с использованием спецификации преобразования толчка в nifi - PullRequest
1 голос
/ 12 марта 2019

У меня есть JSON полезная нагрузка:

{  
   "fields":[  
      {  
         "title":"Priority",
         "value":"low",
         "short":"true"
      },
      {  
         "title":"Priority",
         "value":"medium",
         "short":"true"
      },
      {  
         "title":"Priority",
         "value":"high",
         "short":"true"
      },
      {  
         "title":"Priority",
         "value":"blocker",
         "short":"true"
      },
      {  
         "title":"",
         "value":"",
         "short":"true"
      },
      {  
         "title":"",
         "value":"",
         "short":"true"
      }
   ]
}

Я хочу удалить элемент массива, если свойство title или value пусто. Я использую процессор преобразования Джолта. О / п мне потребовалось

{  
   "fields":[  
      {  
         "title":"Priority",
         "value":"low",
         "short":"true"
      },
      {  
         "title":"Priority",
         "value":"medium",
         "short":"true"
      },
      {  
         "title":"Priority",
         "value":"high",
         "short":"true"
      },
      {  
         "title":"Priority",
         "value":"blocker",
         "short":"true"
      }
   ]
}

И любое место, куда любой может обратиться, откуда я могу научиться писать спецификации, было бы очень признательно. Я уже упоминал https://jolt -demo.appspot.com / # inception

1 Ответ

2 голосов
/ 12 марта 2019

Попробуйте удалить узлы сначала title, а затем value:

[
  {
    "operation": "shift",
    "spec": {
      "fields": {
        "*": {
          "title": {
            "": null,
            "*": {
              "@2": "fields[]"
            }
          }
        }
      }
    }
  }, {
    "operation": "shift",
    "spec": {
      "fields": {
        "*": {
          "value": {
            "": null,
            "*": {
              "@2": "fields[]"
            }
          }
        }
      }
    }
  }
]

См. Также:

...