jsonpath - Извлечение данных json с помощью jsonpath

Мои данные json следующие:

"query": {
  "count": 1,
   "url": [
    {
     "execution-start-time": "1"
    },
    {
     "execution-time": "745"
    }
   ],
   "service-time": "1481"
  },
      results": {
       "div": {
        "class": "makers",
        "ul": {
         "li": [
          {
           "a": {
            "href": "nokia_x2_dual_sim-6383.php",
            "img": {
             "src": "Nokia-X2-Dual-SIM.jpg"
            },
            "strong": {
             "br": null,
             "content": "Nokia\nX2 Dual SIM"
            }
           }
          },
          {
           "a": {
            "href": "nokia_xl-6148.php",
            "img": {
             "src": "nokia-xl.jpg",
            },
            "strong": {
             "br": null,
             "content": "Nokia\nXL"
            }
           }
          }
         ]

Теперь я хочу извлечь часть "content" из этих данных json с помощью jsonpath. Для этой цели я использую jsonpath-0.8.0.js.

Я попытался проанализировать данные json следующим образом:

function ParseData(data) {
  var result = jsonPath(data, "$.query.results[*].ul.li[*].strong.content");
  $('#carousel').empty();
  var html = "";
  for (i = 0; i < result.length; i++) {
   // do something
   }

и я ожидал получить Nokia\nX2 Dual SIM и Nokia\nXL в качестве вывода, но этот мой код ничего не возвращает. Я не могу понять проблему.

Как мне извлечь content данные из этого json-файла? пожалуйста помоги.


person user3575278    schedule 24.09.2014    source источник


Ответы (1)


Друзья, я наконец-то получил ответ на свою проблему. Я использовал следующий код для извлечения content из данных json, указанных выше.

var result = jsonPath(data, "$.query.results[*].ul.li[*].a.strong.content");

Теперь я получаю выходные данные, как и ожидалось.

person user3575278    schedule 24.09.2014