JSON

JSONPath тестер

Перевірка JSONPath-виразів на реальних JSON-даних — миттєвий перегляд знайдених значень і шляхів до них.

$ — корінь · .key / ['key'] — властивість · .. — рекурсивний пошук · [*] — усі елементи · [0,1] — індекси · [0:2] — зріз · [?(@.price<10)] — фільтр

JSONPath дозволяє звертатися до вкладених значень у JSON так само, як XPath працює для XML, — компактним рядком-шляхом на кшталт $.users[0].email замість ручного обходу структури. Інструмент дозволяє перевірити вираз на реальних даних і одразу побачити результат.

Як користуватися

Типові сценарії

Що варто памʼятати

Єдиного офіційного стандарту JSONPath не існує — базовий синтаксис (крапки, дужки, *) підтримується всюди однаково, але фільтри та складніші вирази відрізняються між бібліотеками.

Індексація масивів у JSONPath починається з нуля, як і в більшості мов програмування — [0] означає перший елемент.

Стаття про цей інструмент: JSONPath: як шукати дані у JSON без ручного парсингу

Часті запитання

Що таке JSONPath?

Мова запитів для вибірки значень із JSON за шляхом — концептуально те саме, що XPath для XML, але з іншим синтаксисом. $ означає корінь документа, .key — властивість, [*] — усі елементи масиву чи об’єкта.

Чим .. відрізняється від звичайного .key?

.key шукає властивість лише на поточному рівні вкладеності, а .. (рекурсивний спуск) шукає її на будь-якій глибині документа. Наприклад, $..price знайде всі поля price незалежно від того, наскільки глибоко вони вкладені.

Чи завантажуються мої JSON-дані на сервер?

Ні, весь розбір JSON і обчислення JSONPath-виразів відбувається локально у браузері на JavaScript. Дані нікуди не передаються.

Як звернутися до ключа, що містить крапку чи пробіл?

Через квадратні дужки з лапками: $['user.name'] замість $.user.name — інакше парсер прочитає крапку як роздільник вкладеності, а не частину назви ключа.

Чи є єдиний офіційний стандарт JSONPath?

Ні. Базовий синтаксис (крапки, дужки, зірочка) підтримується практично всюди однаково, але фільтри та розширені вирази відрізняються між бібліотеками — перевіряйте сумісність для складних виразів.

Статті: JSON

JSON Formatter: форматування, мінімізація та валідація

Форматування для читабельності, мінімізація для розміру, валідація для коректності — три різні задачі з JSON.

JSON Diff: чим структурне порівняння відрізняється від текстового

Чому порядок ключів не повинен впливати на порівняння двох JSON-документів.

JSON Schema: як описати й перевірити структуру JSON

Як JSON Schema дозволяє автоматично перевірити, чи відповідають дані очікуваному контракту.

JSON Flatten: перетворення вкладеної структури у плаский список

Як глибоко вкладений JSON перетворюється на плаский список ключів виду user.address.city.

JSON Sort Keys: навіщо сортувати ключі об’єкта

Чому порядок ключів у JSON не регламентований, але сортування все одно буває корисним.

JSON Repair: чому JSON ламається і як це виправити

Типові причини «поламаного» JSON і що автоматичний ремонт може, а що не може виправити.

Mock JSON Generator: навіщо потрібні фейкові дані

Як мок-дані дозволяють почати розробку інтерфейсу ще до того, як готовий бекенд.

JSON ↔ YAML/CSV/XML/TOML: коли і навіщо конвертувати

Які дані губляться при конвертації JSON в CSV і чому YAML та TOML популярні для конфігів.