Query(Path: String): IJsonArray;
Query(Path: String): Prognoz.Platform.Interop.ForeSystem.IJsonArray;
Path. JSONPath-запрос для получения дочерних элементов.
Метод Query возвращает массив элементов, полученных путём выполнения указанного JSONPath-запроса.
Информацию о формировании JSONPath-запросов можно найти в специализированной документации, например, в MSDN.
Для выполнения примера предполагается наличие JSON-файла «d:\Work\Json\data.json». Файл имеет примерно следующую структуру:
Добавьте ссылки на системные сборки: ForeSystem (для примера на Fore.NET).
Sub UserProc;
Var
Doc: IJsonDocument;
JSONArray: IJsonArray;
Begin
Doc := New JsonDocument.Create;
Doc.ReadFromFile("d:\Work\Json\data.json");
JSONArray := Doc.Root.Query("$.product[?(@.price > 50 &&
@.price < 350)]");
Debug.WriteLine("Количество отобранных элементов: " + JSONArray.Count.ToString);
End Sub UserProc;
Imports Prognoz.Platform.Interop.ForeSystem;
Sub UserProc();
Var
Doc: IJsonDocument = New JsonDocumentClass();
JSONArray: IJsonArray;
Begin
Doc.ReadFromFile("d:\Work\Json1\data.json");
JSONArray := Doc.Root.Query("$.product[?(@.price > 50 &&
@.price < 350)]");
System.Diagnostics.Debug.WriteLine("Количество отобранных элементов: " + JSONArray.Count.ToString());
End Sub;
При выполнении примера из файла будет считана JSON-структура. К данной структуре будет выполнен запрос на отбор элементов в соответствии с указанным условием. Количество отобранных элементов будет выведено в консоль среды разработки.
См. также: