Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
JSONPath — Un fork de JSONPath issu de http://goessner.net/articles/JsonPath/ | Kitploit
Outils/GitHubGitHub/jsonpath-plus/jsonpath
Utilitaires GénérauxAnalyse StatiqueAnalyse de CodeScripting et AutomatisationUtilitaires et Frameworks
GitHubjsonpath-plus/jsonpath

JSONPath

Un fork de JSONPath issu de http://goessner.net/articles/JsonPath/

Voir le dépôt
1.2k20033il y a 8 joursVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

npm

testing badge coverage badge

Known Vulnerabilities

Licenses badge

Node.js CI status

(voir aussi licences pour les dépendances de développement)

JSONPath Plus

Analyser, transformer et extraire sélectivement des données de documents JSON (et d'objets JavaScript).

jsonpath-plus étend la spécification originale pour ajouter quelques opérateurs supplémentaires et expliciter certains comportements que l'original ne précisait pas.

Essayez la démo navigateur ou Runkit (Node).

Veuillez noter : ce projet n'est actuellement pas activement maintenu. Nous pouvons accepter des PR bien documentées ou quelques mises à jour simples, mais nous ne cherchons pas à apporter des correctifs ou à ajouter de nouvelles fonctionnalités nous-mêmes.

Fonctionnalités

  • Conforme à la spécification jsonpath originale
  • Ajouts ou précisions pratiques non fournis dans la spécification originale :
    • ^ pour récupérer le parent d'un élément correspondant
    • ~ pour récupérer les noms de propriétés des éléments correspondants (sous forme de tableau)
    • Sélecteurs de type pour obtenir :
      • Les types JSON de base : @null(), @boolean(), @number(), @string(), @array(), @object()
      • @integer()
      • Le type composé @scalar() (qui accepte également undefined et les nombres non finis lors de l'interrogation d'objets JavaScript, ainsi que tous les types de base non-objet/non-fonction)
      • @other() utilisable conjointement avec un otherTypeCallback défini par l'utilisateur
      • Les types non-JSON qui peuvent néanmoins être utilisés lors de l'interrogation d'objets JavaScript non-JSON (@undefined(), @function(), @nonFinite())
    • Sélecteurs raccourcis @path/@parent/@property/@parentProperty/@root dans les filtres
    • Échappement
      • ` pour échapper la séquence restante
      • La syntaxe @['...']/?@['...'] pour échapper les caractères spéciaux dans les noms de propriétés au sein des filtres
    • Documente $.. (récupération de tous les composants parents)
  • Formats d'export ESM et UMD
  • En plus des valeurs interrogées, peut renvoyer diverses méta-informations notamment les chemins ou pointeurs vers la valeur, ainsi que l'objet parent et le nom de la propriété parente (pour permettre la modification).
  • Utilitaires de conversion entre chemins, tableaux et pointeurs
  • Option pour empêcher les évaluations autorisées dans la spécification originale ou fournir un bac à sable pour les valeurs évaluées.
  • Option pour un callback de gestion des résultats au fur et à mesure de leur obtention.

Analyse comparative

jsonpath-plus est constamment performant avec des jeux de données grands et petits comparé à d'autres bibliothèques d'interrogation json selon json-querying-performance-testing. Vous pouvez vérifier ces résultats en exécutant le projet vous-même et en ajoutant d'autres cas de performance.

Installation

npm install jsonpath-plus

Configuration

Node.js

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

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

Navigateur

Pour une utilisation dans le navigateur, vous pouvez inclure directement dist/index-browser-umd.cjs ; aucune magie Browserify n'est nécessaire :

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

<script>

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

</script>

ESM (Navigateurs modernes)

Vous pouvez également utiliser les imports de modules ES6 (pour les navigateurs modernes) :

<script type="module">

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

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

</script>

ESM (Bundlers)

Ou si vous regroupez votre JavaScript (par exemple, avec Rollup), utilisez simplement, en notant que mainFields devrait inclure browser pour les builds navigateur (pour Node, la valeur par défaut, qui vérifie module, devrait convenir) :

import {JSONPath} from 'jsonpath-plus';

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

Utilisation

La signature complète disponible est :

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

Les arguments path, json, callback et otherTypeCallback peuvent également être exprimés (avec toute autre des propriétés disponibles) sur options.

Notez que result contiendra tous les éléments trouvés (éventuellement enveloppés dans un tableau) tandis que callback peut être utilisé si vous souhaitez effectuer une opération au fur et à mesure que chaque élément est découvert, la fonction de rappel étant exécutée de 0 à N fois selon le nombre d'éléments indépendants à trouver dans le résultat. Voir la documentation ci-dessous pour plus d'informations sur les arguments disponibles de JSONPath.

Voir aussi la documentation de l'API.

Propriétés

Les propriétés qui peuvent être fournies sur l'objet options ou la méthode evaluate (comme premier argument) incluent :

Télécharger l’outil