2012-02-15 7 views
11

voglio analizzare questo con JSONPath:file di allineamento Parse JSON con 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] 
] 

può aiutare in questo favore?

+1

_Che cosa vuoi analizzare? Linguaggio? – ArjunShankar

+0

Voglio conoscere il JSONPATH, ad es. $. * per ottenere qualsiasi elemento dell'array. – salem12

+0

Quindi, si desidera utilizzare JSONPath, le cui implementazioni per più lingue sono disponibili all'indirizzo http://code.google.com/p/json-path/ e http://goessner.net/articles/JsonPath/ – ArjunShankar

risposta

26

Se l'oggetto è:

[ 
    [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] 
] 

Poi "$[0]" sarà di ritorno:

[50.4154134372953,-1.28486558931069,"CLASS B",9,205,0,"UK",431500382,3,4] 

E "$[1]" tornerà:

[50.3058858494047,-0.976070494820637,"CLASS B",9,239,0,"UK",2750350,21,2] 

si può fare due livelli di profondità pure. "$[0][4]" restituirà:

205 

È possibile anche estrarre gli elementi della matrice in un elenco con "$[*]", che restituirà un elenco di 2 elementi. Il primo è:

[50.4154134372953,-1.28486558931069,"CLASS B",9,205,0,"UK",431500382,3,4] 

e la seconda è:

[50.3058858494047,-0.976070494820637,"CLASS B",9,239,0,"UK",2750350,21,2] 
+1

grazie mille, che è stato davvero utile. – salem12

0

Utilizzando DefiantJS, è possibile cercare una struttura JSON con la sintassi XPath. Questa libreria estende l'oggetto globale JSON con una funzione di ricerca.

In questo scenario, è possibile scrivere qualcosa come questo;

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, '//*/*/*'); 

Dai un'occhiata a questo violino; http://jsfiddle.net/hbi99/5NfeM/

0

questo funziona per me

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