Создание фильтра dmaap в списке csv?

#groovy #filter #get

#groovy #Фильтр #получить

Вопрос:

Я пытаюсь подписаться на службу DMAAP, и данные могут быть отфильтрованы с помощью библиотеки фильтров Highland Park, основанной на JSON. Что мне нужно сделать, так это отфильтровать возвращаемое значение, в данном случае состояние. У нас есть поле под названием «deliveryState», которое представляет собой двухсимвольный код состояния. Я хотел бы иметь возможность фильтровать по ряду состояний, но, хоть убейте, я не смог этого сделать, я могу фильтровать либо по одному состоянию, либо ни по одному из состояний.

Комментарии:

1. Пожалуйста, добавьте код, который вы пробовали, чтобы мы могли его улучшить.

2. Я вроде как решил эту проблему. Как мне вставить сюда код? Это продолжает ограничивать вводимые мной символы. Вот сокращенный пример: ?filter={ «class»: «Or», «filters»: [ {«class»:»Equals», «field»:»State», «value»:»FL» },{«class»:»Equals», «field»:»State», «value»:»NY»},{«class»:»Equals», «field»:»State», «value»:»CO»},{«class»:» Равно», «поле»:»Состояние», «значение»:»SC» }]} Вы не можете использовать несколько значений, но вы можете «складывать»

3. Рекомендуется добавлять ответ с решением, которое вы придумали самостоятельно.

Ответ №1:

Хорошо, похоже, что вы передаете значение JSON как часть заголовка:

 ?filter={ "class":"Or", "filters": [ {"class":"Equals", "field":"State", "value":"FL" },{"class":"Equals", "field":"State", "value":"NY" },{"class":"Equals", "field":"State", "value":"CO" },{"class":"Equals", "field":"State", "value":"SC" }]} 
  

У вас не может быть нескольких значений, но вы можете «складывать» свои фильтры. В данном случае я делаю это, чтобы разрешить только значения с полем «Состояние», равным FL, NY, CO или SC.