Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
JSONPath — Un fork di JSONPath da http://goessner.net/articles/JsonPath/ | Kitploit
Strumenti/GitHubGitHub/jsonpath-plus/jsonpath
Utilità GenericheAnalisi StaticaAnalisi del CodiceScripting e AutomazioneUtilità e Framework
GitHubjsonpath-plus/jsonpath

JSONPath

Un fork di JSONPath da http://goessner.net/articles/JsonPath/

Vedi Repository
1.2k200336 giorni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

npm

testing badge coverage badge

Known Vulnerabilities

Licenses badge

Node.js CI status

(vedi anche licenze per le dipendenze di sviluppo)

JSONPath Plus

Analizza, trasforma ed estrae selettivamente dati da documenti JSON (e oggetti JavaScript).

jsonpath-plus estende la specifica originale aggiungendo alcuni operatori aggiuntivi e rende espliciti alcuni comportamenti che l'originale non specificava.

Prova la demo nel browser o Runkit (Node).

Nota bene: questo progetto al momento non è mantenuto attivamente. Potremmo accettare PR ben documentate o alcuni semplici aggiornamenti, ma non intendiamo apportare correzioni o aggiungere nuove funzionalità autonomamente.

Funzionalità

  • Conforme alla specifica jsonpath originale
  • Comode aggiunte o estensioni non previste dalla specifica originale:
    • ^ per ottenere il genitore di un elemento corrispondente
    • ~ per ottenere i nomi delle proprietà degli elementi corrispondenti (come array)
    • Selettori di tipo per ottenere:
      • Tipi JSON di base: @null(), @boolean(), @number(), @string(), @array(), @object()
      • @integer()
      • Il tipo composto @scalar() (che accetta anche undefined e numeri non finiti quando si interrogano oggetti JavaScript, oltre a tutti i tipi di base non-oggetto/non-funzione)
      • @other() utilizzabile insieme a un otherTypeCallback definito dall'utente
      • Tipi non-JSON che possono comunque essere usati quando si interrogano oggetti JavaScript non-JSON (@undefined(), @function(), @nonFinite())
    • Selettori abbreviati @path/@parent/@property/@parentProperty/@root all'interno dei filtri
    • Escaping
      • ` per fare escaping della sequenza rimanente
      • sintassi @['...']/?@['...'] per fare escaping di caratteri speciali all'interno dei nomi delle proprietà nei filtri
    • Documenta $.. (ottenere tutti i componenti genitore)
  • Formati di esportazione ESM e UMD
  • Oltre ai valori interrogati, può restituire varie meta-informazioni tra cui percorsi o puntatori al valore, nonché l'oggetto genitore e il nome della proprietà genitore (per consentire la modifica).
  • Utility per la conversione tra percorsi, array e puntatori
  • Opzione per impedire le valutazioni consentite nella specifica originale o fornire una sandbox per i valori valutati.
  • Opzione per una callback per gestire i risultati man mano che vengono ottenuti.

Benchmarking

jsonpath-plus è costantemente performante sia con dataset grandi che piccoli rispetto ad altre librerie di query json secondo json-querying-performance-testing. Puoi verificare questi risultati eseguendo tu stesso il progetto e aggiungendo altri casi di performance.

Installazione

npm install jsonpath-plus

Configurazione

Node.js

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

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

Browser

Per l'utilizzo nel browser puoi includere direttamente dist/index-browser-umd.cjs; non è necessaria alcuna magia di Browserify:

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

<script>

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

</script>

ESM (Browser moderni)

Puoi anche usare gli import di ES6 Module (per browser moderni):

<script type="module">

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

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

</script>

ESM (Bundler)

Oppure, se stai effettuando il bundling del tuo JavaScript (ad esempio con Rollup), usa semplicemente, tenendo presente che mainFields dovrebbe includere browser per le build destinate al browser (per Node, il valore predefinito, che controlla module, dovrebbe andare bene):

import {JSONPath} from 'jsonpath-plus';

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

Utilizzo

La firma completa disponibile è:

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

Gli argomenti path, json, callback e otherTypeCallback possono essere espressi in alternativa (insieme a qualsiasi altra delle proprietà disponibili) su options.

Si noti che result conterrà tutti gli elementi trovati (opzionalmente racchiusi in un array), mentre callback può essere utilizzato se si desidera eseguire qualche operazione man mano che ogni elemento viene scoperto, con la funzione di callback eseguita da 0 a N volte a seconda del numero di elementi indipendenti da trovare nel risultato. Consultare la documentazione di seguito per ulteriori informazioni sugli argomenti disponibili di JSONPath.

Vedere anche la documentazione API.

Proprietà

Le proprietà che possono essere fornite sull'oggetto options o sul metodo evaluate (come primo argomento) includono:

Scarica lo strumento