JSONPath — это язык запросов для JSON, аналогичный XPath для XML. Поддерживает символы подстановки, фильтры и рекурсивный спуск. JSON Pointer (RFC 6901) проще — он указывает только на одну конкретную позицию. Используйте JSONPath, когда нужно найти несколько узлов или фильтровать по условиям.
$ представляет корень JSON-документа. Все JSONPath-выражения начинаются с $. Например, $.store.book[0].title переходит от корня → store → массив book → первый элемент → свойство title.
Используйте [*] для выбора всех элементов. Например, $.users[*].name возвращает свойство name каждого объекта в массиве users. Вы также можете использовать .. для рекурсивного спуска, чтобы найти все совпадающие ключи на любой глубине.
Да, используйте фильтрующие выражения вроде $.books[?(@.price < 10)] для выбора книг дешевле $10. Символ @ относится к текущему оцениваемому элементу. Можно комбинировать условия с && (и) и || (или).
Извлечение конкретных полей из ответов API, навигация по сложным файлам конфигурации, тестирование вывода API в автоматизированных тестах и запросы к большим наборам данных. JSONPath также используется в таких инструментах, как Postman, Kubernetes и различных ETL-конвейерах.