Taille de la matrice à l'aide de jsonpath expression - Stefan Goessner JsonPath
Je vais avoir un problème avec la recherche d'un tableau ou de la taille de la liste à l'aide de Stefan Goessner de JsonPath. J'utilise la version json-chemin-2.0.0.
Mon jsonpath expression est $.orders.length
et JSON ressemble à quelque chose comme ceci:
JS:
{
"orders" : [
...
]
}
Sa échoue avec l'erreur suivante:
com.jayway.jsonpath.PathNotFoundException: Property ['length'] not found in path $['orders']
Et j'ai essayé avec $.orders.length()
trop, qui est de nouveau échoué avec l'erreur ci-dessous:
com.jayway.jsonpath.PathNotFoundException: Property ['length()'] not found in path $['orders']
Veuillez me suggérer comment obtenir la longueur du tableau à l'aide de Goessner de JsonPath expression.
[MODIFIER] Suivants est la façon dont je suis l'obtention de la configuration:
com.jayway.jsonpath.Configuration conf = com.jayway.jsonpath.Configuration.defaultConfiguration().addOptions(Option.DEFAULT_PATH_LEAF_TO_NULL);
DocumentContext documentContext = JsonPath.using(conf).parse(orderJson);
Object val = documentContext.read(jsonPathExpression);
Vous devez vous connecter pour publier un commentaire.
Il semble que le soutien pour le retour de la
length()
d'un tableau était seulement ajout de la version 2.1.0 de la jayway json-chemin de la bibliothèque.Basée sur quelques tests rapides, l'
$.orders.length()
expression semble fonctionner à la fois avec la version 2.1.0 et la version 2.2.0, donc je pense que vous avez juste besoin de mettre à niveau votre dépendance à la version pour corriger l'erreur que vous voyez.