Разбирайте файл массива JSON с помощью JSONPATH

Я хочу проанализировать это с помощью 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]
]

Вы можете помочь с этим?

Ответ 1

Если объект:

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

Затем "$[0]" вернется:

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

И "$[1]" вернется:

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

Вы можете сделать это и на двух уровнях. "$[0][4]" вернется:

205

Вы также можете извлечь элементы массива в список с помощью "$[*]", который вернет список из 2 элементов. Первое:

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

Ответ 2

Используя DefiantJS, вы можете искать структуру JSON с синтаксисом XPath. Эта библиотека расширяет глобальный объект JSON с помощью функции поиска.

В этом случае вы можете написать что-то вроде этого:

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

Посмотрите эту скрипку; http://jsfiddle.net/hbi99/5NfeM/

Ответ 3

Это работает для меня

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