Я получаю данные в JSON через WebAPI, отправляя запросы cURL на сервер — в основном работает. Проблема начинается, когда я пытаюсь отфильтровать поле (извините, с точки зрения непрофессионала) во 2-м слое данных JSON.
Вот некоторые примеры данных JSON:
{
«id»: «SOMEHASH»,
«имя»: «OPP-имя»,
«actualCloseDate»: «9999-12-31T00: 00: 00 + 01: 00»,
«компании»: [
{
«id»: «SOMEOTHERHASH»,
«name»: «Название компании»}
],
Я пытаюсь отфильтровать по полю «имя» в массиве «компании» (это я и имел ввиду со 2-го уровня), но пока не повезло.
Мой URL для запроса данных, включая фильтр OData, выглядит следующим образом:
https: //www.ourserver.tld/Opportunities/?$ filter = Company / any (d: d / name eq ‘Название компании’)
но это приводит только к пустому ответу, как будто данные не найдены (имя точно совпадает). Честно говоря, я не понимаю часть «d: d», просто взял это прямо из документации OData.
Я старался
https: //www.ourserver.tld//Opportunities/?$ filter = companies / any (название eq «Название компании»)
вместо этого, но это вызывает синтаксическую ошибку.
Итак, как мне сформировать правильный URL-адрес запроса?
Задача ещё не решена.
Других решений пока нет …