Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

ЛентыКонтактыКонфиденциальность© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
JSONPath — Форк JSONPath с http://goessner.net/articles/JsonPath/ | Kitploit
Инструменты/GitHubGitHub/jsonpath-plus/jsonpath
Утилиты общего назначенияСтатический анализАнализ КодаСкриптинг и автоматизацияУтилиты и фреймворки
GitHubjsonpath-plus/jsonpath

JSONPath

Форк JSONPath с http://goessner.net/articles/JsonPath/

Репозиторий
1.2k200338 дней назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

npm

testing badge coverage badge

Known Vulnerabilities

Licenses badge

Node.js CI status

(см. также лицензии для dev-зависимостей.)

JSONPath Plus

Анализ, преобразование и выборочное извлечение данных из JSON-документов (и объектов JavaScript).

jsonpath-plus расширяет исходную спецификацию, добавляя некоторые дополнительные операторы и делая явными некоторые поведения, которые оригинал не описывал.

Попробуйте демо в браузере или Runkit (Node).

Обратите внимание: в настоящее время этот проект не поддерживается активно. Мы можем принять хорошо документированные PR или некоторые простые обновления, но не намерены самостоятельно вносить исправления или добавлять новые функции.

Возможности

  • Соответствие исходной спецификации jsonpath
  • Удобные дополнения и уточнения, отсутствующие в исходной спецификации:
    • ^ для получения родителя совпадающего элемента
    • ~ для получения имён свойств совпадающих элементов (в виде массива)
    • Селекторы типов для получения:
      • Базовых типов JSON: @null(), @boolean(), @number(), @string(), @array(), @object()
      • @integer()
      • Составного типа @scalar() (который также принимает undefined и неконечные числа при запросах к объектам JavaScript, а также все базовые не-объектные/не-функциональные типы)
      • @other(), используемого совместно с определяемым пользователем otherTypeCallback
      • Не-JSON типов, которые тем не менее можно использовать при запросах к не-JSON объектам JavaScript (@undefined(), @function(), @nonFinite())
    • Сокращённые селекторы @path/@parent/@property/@parentProperty/@root внутри фильтров
    • Экранирование
      • ` для экранирования оставшейся последовательности
      • Синтаксис @['...']/?@['...'] для экранирования специальных символов внутри имён свойств в фильтрах
    • Документирует $.. (получение всех родительских компонентов)
  • Форматы экспорта ESM и UMD
  • Помимо запрашиваемых значений, может возвращать различную метаинформацию, включая пути или указатели на значение, а также родительский объект и имя родительского свойства (чтобы позволить модификацию).
  • Утилиты для преобразования между путями, массивами и указателями
  • Опция для запрета вычислений, разрешённых в исходной спецификации, или предоставления песочницы для вычисляемых значений.
  • Опция обратного вызова для обработки результатов по мере их получения.

Бенчмаркинг

jsonpath-plus стабильно производителен как с большими, так и с малыми наборами данных по сравнению с другими библиотеками json-запросов согласно json-querying-performance-testing. Вы можете проверить эти результаты, запустив проект самостоятельно и добавив больше тестов производительности.

Установка

npm install jsonpath-plus

Установка

Node.js

const {JSONPath} = require('jsonpath-plus');

const result = JSONPath({path: '...', json});

Браузер

Для использования в браузере вы можете напрямую подключить dist/index-browser-umd.cjs; никакой магии Browserify не требуется:

<script src="node_modules/jsonpath-plus/dist/index-browser-umd.cjs"></script>

<script>

const result = JSONPath.JSONPath({path: '...', json: {}});

</script>

ESM (современные браузеры)

Вы также можете использовать импорты модулей ES6 (для современных браузеров):

<script type="module">

import {
    JSONPath
} from './node_modules/jsonpath-plus/dist/index-browser-esm.js';

const result = JSONPath({path: '...', json: {}});

</script>

ESM (сборщики)

Или, если вы собираете свой JavaScript (например, с помощью Rollup), просто используйте, учитывая, что mainFields должен включать browser для сборок под браузер (для Node значение по умолчанию, которое проверяет module, должно подойти):

import {JSONPath} from 'jsonpath-plus';

const result = JSONPath({path: '...', json});

Использование

Полная доступная сигнатура:

const result = JSONPath([options,] path, json, callback, otherTypeCallback);

Аргументы path, json, callback и otherTypeCallback могут быть альтернативно выражены (вместе с любыми другими из доступных свойств) в options.

Обратите внимание, что result будет содержать все найденные элементы (опционально обёрнутые в массив), тогда как callback можно использовать, если вы хотите выполнить некоторую операцию по мере обнаружения каждого элемента, при этом функция обратного вызова будет выполняться от 0 до N раз в зависимости от количества независимых элементов, которые должны быть найдены в результате. См. документацию ниже для получения дополнительной информации о доступных аргументах JSONPath.

См. также документацию API.

Свойства

Свойства, которые могут быть указаны в объекте options или в методе evaluate (в качестве первого аргумента), включают:

Скачать инструмент