#package #graphql
Работать с JSON в JavaScript крайне просто. Это подталкивает #nodejs разработчиков отдавать раздутые объекты из API. Упростить работу с такими объектами позволяет JSONPath. У него есть предшественик – Xpath, аналог для XML.
В синтаксисе всего десяток операторов. Чтобы их лучше понять, рекомендую перейти на JSONPath Online Evaluator и протестить разные выражения. Собственно вот синтаксис:
Базовые операторы – интуитивно понятны
$ – корневой элемент@ – текущий элемент. или [] – дочерний элемент* – все элементыПродвинутые операторы
.. – так называемый рекурсивный спуск. Выбирает дочерние элементы на всех уровнях.[,] – union оператор[start:end:step] – slice операторСкриптовые операторы –
?() и () зависят от конкретного языка и библиотеки для работы с JSONPath.На уровне кода JSONPath полезен во время мутаций сложных JSON структур. Для этого используется одноименный пакет jsonpath. JSONPath встроен в Insomnia, API клиент для работы с GraphQL и REST. Поэтому многие QA выбирают его вместо Postman.