Je veux analyser ceci avec JSONPath:
[
[50.4154134372953,-1.28486558931069,"CLASS B",9,205,0,"UK",431500382,3,4],
[50.3058858494047,-0.976070494820637,"CLASS B",9,239,0,"UK",2750350,21,2]
]
Pouvez-vous m'aider avec cela s'il vous plaît?
Si l'objet est:
[
[50.4154134372953,-1.28486558931069,"CLASS B",9,205,0,"UK",431500382,3,4],
[50.3058858494047,-0.976070494820637,"CLASS B",9,239,0,"UK",2750350,21,2]
]
Ensuite "$[0]"
renverra:
[50.4154134372953,-1.28486558931069,"CLASS B",9,205,0,"UK",431500382,3,4]
Et "$[1]"
renverra:
[50.3058858494047,-0.976070494820637,"CLASS B",9,239,0,"UK",2750350,21,2]
Vous pouvez également le faire sur deux niveaux. "$[0][4]"
renverra:
205
Vous pouvez également extraire les éléments du tableau dans une liste avec "$[*]"
, qui renverra une liste de 2 éléments. Le premier étant:
[50.4154134372953,-1.28486558931069,"CLASS B",9,205,0,"UK",431500382,3,4]
et le second étant:
[50.3058858494047,-0.976070494820637,"CLASS B",9,239,0,"UK",2750350,21,2]
En utilisant DefiantJS, vous pouvez rechercher une structure JSON avec la syntaxe XPath. Cette bibliothèque étend l'objet global JSON avec une fonction de recherche.
Dans ce scénario, vous pouvez écrire quelque chose comme ceci;
var data = [
[50.4154134372953,-1.28486558931069,"CLASS B",9,205,0,"UK",431500382,3,4],
[50.3058858494047,-0.976070494820637,"CLASS B",9,239,0,"UK",2750350,21,2]
],
search = JSON.search( data, '//*/*/*' );
Découvrez ce violon; http://jsfiddle.net/hbi99/5NfeM/
Ça marche pour moi
JsonPath.with(jsonResponse).param("name", "getName").get("findAll { a -> a.name == name }")