2015-12-28 3 views
1

У меня есть служба odata, которая возвращает объект Json, как показано ниже, и я хочу фильтровать данные по стране. Является ли это возможным? Одатный фильтр для объекта JSON внутри другого объекта JSON

{ 
 
"Name": "Abc", 
 
"Gender": "Male", 
 
"Address": [ 
 
       { 
 
       "Street": "Mystreet", 
 
       "City": "Somecity", 
 
       "Country": "Somecountry", 
 
       } 
 
      ] 
 
}

Я знаю, что мы можем фильтровать по признаку пола с помощью «URL службы? $ = Фильтр Пол экв мужской», но как я фильтровать по стране?

ответ

0

Поскольку это массив, вы можете использовать функции OData any и all. В вашем случае, я бы предположил, что вы хотели бы использовать any (значение, все люди, где они имеют любой адрес этой страны

Для достижения этой цели с URL, это будет что-то вроде этого:.

People?$filter=Address/any(address: address/Country eq 'Somecountry') 

Вот пример с использованием примеров услуг Trippin, что очень похоже: http://services.odata.org/V4/(S(gl4oqd3rz5uzuqjryt1be5mr))/TripPinServiceRW/People?$filter=AddressInfo/any(address: address/Address eq '187 Suffolk Ln.')

Смежные вопросы