JSON
JSONPath тестер
Перевірка JSONPath-виразів на реальних JSON-даних — миттєвий перегляд знайдених значень і шляхів до них.
$ — корінь · .key / ['key'] — властивість · .. — рекурсивний пошук · [*] — усі елементи · [0,1] — індекси · [0:2] — зріз · [?(@.price<10)] — фільтр
—
JSONPath дозволяє звертатися до вкладених значень у JSON так само, як XPath працює для XML, — компактним рядком-шляхом на кшталт $.users[0].email замість ручного обходу структури. Інструмент дозволяє перевірити вираз на реальних даних і одразу побачити результат.
Як користуватися
- Вставте JSON-дані в одне поле, JSONPath-вираз — у друге.
- Результат показує всі знайдені значення разом з точним шляхом до кожного, навіть якщо збігів декілька.
- Використовуйте [*] для перебору всіх елементів масиву чи фільтри [?(@.price > 100)] для умовного відбору.
Типові сценарії
- Підбір правильного JSONPath-виразу для витягування конкретного поля з відповіді API перед вставкою в код.
- Тестування правил трансформації даних чи маршрутизації повідомлень, що спираються на JSONPath (наприклад, у AWS Step Functions чи API Gateway).
- Швидкий пошук значення у великому й глибоко вкладеному JSON-документі без ручного гортання.
Що варто памʼятати
Єдиного офіційного стандарту JSONPath не існує — базовий синтаксис (крапки, дужки, *) підтримується всюди однаково, але фільтри та складніші вирази відрізняються між бібліотеками.
Індексація масивів у JSONPath починається з нуля, як і в більшості мов програмування — [0] означає перший елемент.
Стаття про цей інструмент: JSONPath: як шукати дані у JSON без ручного парсингу
Часті запитання
Що таке JSONPath?
Мова запитів для вибірки значень із JSON за шляхом — концептуально те саме, що XPath для XML, але з іншим синтаксисом. $ означає корінь документа, .key — властивість, [*] — усі елементи масиву чи об’єкта.
Чим .. відрізняється від звичайного .key?
.key шукає властивість лише на поточному рівні вкладеності, а .. (рекурсивний спуск) шукає її на будь-якій глибині документа. Наприклад, $..price знайде всі поля price незалежно від того, наскільки глибоко вони вкладені.
Чи завантажуються мої JSON-дані на сервер?
Ні, весь розбір JSON і обчислення JSONPath-виразів відбувається локально у браузері на JavaScript. Дані нікуди не передаються.
Як звернутися до ключа, що містить крапку чи пробіл?
Через квадратні дужки з лапками: $['user.name'] замість $.user.name — інакше парсер прочитає крапку як роздільник вкладеності, а не частину назви ключа.
Чи є єдиний офіційний стандарт JSONPath?
Ні. Базовий синтаксис (крапки, дужки, зірочка) підтримується практично всюди однаково, але фільтри та розширені вирази відрізняються між бібліотеками — перевіряйте сумісність для складних виразів.