web-dev-qa-db-fra.com

Analyser le fichier du tableau JSON avec JSONPATH

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?

19
Kheiri Selmi

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]
36
ArjunShankar

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/

0
Hakan Bilgin

Ça marche pour moi

JsonPath.with(jsonResponse).param("name", "getName").get("findAll { a -> a.name == name  }")
0
Jayen Chondigara