Запросы JSONPath
Достаньте из длинного JSON ровно те данные, которые нужны, с помощью выражения JSONPath, — например, имена всех пользователей или только товары дешевле 10.
Как сделать запрос к JSON через JSONPath
- Вставьте JSON в левое поле.
- Введите выражение JSONPath в поле «Путь», всегда начиная с $ — например, $.users[*].name, чтобы получить имена всех пользователей.
- Результат — список найденных значений. Включите «Показать, где найдено каждое значение», чтобы увидеть путь к каждому.
Частые вопросы
$ — весь документ. .name берёт поле, [0] — первый элемент списка, [-1] — последний, [*] — все, [1:3] — 2-й и 3-й элементы, а ..name ищет поле на любой глубине. Например: $.users[0].name или $..price.
Используйте [?(...)], где @ — каждый проверяемый элемент. Например, $.products[?(@.price < 10)] выберет товары дешевле 10. Сравнивать можно через ==, !=, <, <=, > и >=, а объединять условия — через && (и), || (или) и ! (не). Запись [?(@.isbn)] оставит элементы, у которых есть это поле.
Возьмите имя в квадратные скобки и двойные кавычки, например $["first name"] или $.users[0]["first-name"].
Путь может совпасть с несколькими значениями, поэтому результат — всегда список. Если совпадение одно, в списке один элемент, а если ничего не найдено — пустой список [].
Да, в фильтрах. length(@.name) считает символы текста (или элементы списка), count(@.tags[*]) — найденные значения, value(@..color) даёт единственное найденное значение, match(@.name, "^An") проверяет, что весь текст подходит под шаблон, а search(@.name, "An") — что текст содержит шаблон. Например: $.users[?(length(@.name) > 3 && match(@.name, "^B"))].
Базовый синтаксис регулярных выражений: обычные символы, точка (любой один символ), [abc] и [a-z], [^abc] (всё, кроме), * + ? и точное число повторов, | (или), группы (…), ^ и $ (начало и конец текста), \d \w \s, \b (граница слова) и группы Unicode вроде \p для заглавных букв. Нет опережающих и ретроспективных проверок (?=…) и обратных ссылок (\1). Зато любой шаблон работает быстро — даже неудачный не подвесит страницу. Обратите внимание: в запросе обратный слеш пишется дважды, например \"\\d+\" для шаблона \d+.
Нет. Числа сохраняются точно как в JSON, а при фильтрации по числу сравнение точное до последней цифры.
Нет. JSON обрабатывается прямо на вашем устройстве.
Полностью бесплатно, аккаунт не нужен.
Похожие инструменты
JSON в YAMLКонвертация между JSON и YAMLJSON в TOMLПереводите JSON в TOML и обратноJSON в CSVКонвертация между JSON и таблицами CSVJSON в XMLПреобразуйте JSON в XML с отступамиJSON в TypeScriptИнтерфейсы TypeScript по примеру JSONJSON в JSON SchemaСоздайте JSON Schema по примеру JSONПроверка JSON SchemaПроверьте, соответствуют ли данные JSON схемеJSON в ZodСоздайте схему Zod по примеру JSONJSON в структуры GoСоздайте структуры Go по примеру JSON