使用XPath从JSON数组中提取值?

时间:2016-07-02 17:00:06

标签: json xpath jsonpath

我对XPath很新... 我需要使用XPath从此JSON数组中仅提取值 2124,143

我尝试了几种但没有成功的方法。有什么想法吗?

{  
       "legend_size":1,
       "data":{  
          "series":[  
             "2016-06-01",
             "2016-07-01"
          ],
          "values":{  
             "Download":{  
                "2016-07-01":143,
                "2016-06-01":2124
             }
          }
       }
    }

2 个答案:

答案 0 :(得分:0)

XPath(传统上,在v3.1之前,没有得到广泛支持)是通过XML定义的,而不是JSON。

或者,考虑JSONPath,“JSON的XPath”,也是supported by Dojo Toolkit

在JSONPath中,2124可以作为$.data.values.Download.2016-06-01

进行访问

答案 1 :(得分:0)

在XPath 3.1中,它将是

let $j := parse-json($input)
return array:for-each($j?data?series,
   function($date) {$j?data?values($date)})

XPath 3.1是支持JSON和XML的第一个XPath版本。