#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.