JSONPath :contient le filtre
Salut à tous, je me demandais si l'un connaissait un moyen d'utiliser une expression régulière ou un opérateur générique (ou pehaps '%LIKE%'
dans SQL) donc je pourrais utiliser JSONPath à faire de la recherche au sein d'un grand ensemble de données JSON.
Par exemple (et oui, je suis d'analyse, pas eval( )
ing mes données dans l'application):
var obj = eval ( '({ "hey": "can you find me?" })' );
Et je voudrais être en mesure de regarder à travers les données comme ceci:
$.[?(@.hey:contains(find))] //(in jQuery terminology)
où le contenu d'un argument est une partie ou de la totalité de la valeur dans le { "key" : "value" }
paires dans mes données.
Pour le moment j'ai seulement trouvé de la documentation sur >
, <
, =
, et !=
opérateurs relationnels, qui ne me donne pas beaucoup de flexibilité.
Personne ne sait d'une manière que je peux juste juste JSONPath pour trouver ces données (sans avoir à parcourir toutes les entrées)?
Je ne veux pas utiliser du Dojo JSONQuery, car cela nécessiterait une autre bibliothèque. Cependant, il vous permet de le faire, voici l'exemple:
[?description~‘*the*’]
Me demander si vous voulez plus de précisions de la question.
- oh oui, voici la documentation - goessner.net/articles/JsonPath
Vous devez vous connecter pour publier un commentaire.
nevermind, les gars, a trouvé un moyen de le faire en utilisant simplement l'ECMA à l'intérieur de JSONPath, si ce n'est pas un natif sélecteur /opérateur. Tout simplement utilisé:
la RegExp méthode test () (qui JSONPath
eval
s en coulisse).Si quelqu'un a une meilleure solution, cependant, laissez-moi savoir.
Aussi, peut-être que ce sera utile pour quelqu'un.
Lien vers JSONPath Notation
Il fonctionne pour moi (JMeter 4.0)
=~
Si quelqu'un veut le contient la solution en Java, alors cela fonctionne avec JsonPath
Importations