jsonpath-使用jsonpath提取json数据

时间:2014-09-24 06:29:49

标签: 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"
            }
           }
          }
         ]

现在我想使用jsonpath从这个json数据中提取"content"部分。我正在使用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 SIMNokia\nXL作为输出,但我的这段代码没有返回任何内容。我无法理解这个问题。

如何从此json中提取content数据?请帮忙。

1 个答案:

答案 0 :(得分:2)

朋友们,我终于得到了我的问题的答案。我使用以下代码从上面给出的json数据中提取content

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

现在我按预期获得输出数据。