类似于XPath在xml文档中的定位,JsonPath表达式通常是用来路径检索或设置Json的。其表达式可以接受’dot–notation’和’bracket–notation’格式,例如[‘store’][‘book’][0][‘title’] JsonPath是一种简单的方法来提取给定JSON文档的部分内容。
JsonPath有许多编程语言,如Javascript,Python和PHP,Java。
JsonPath提供的json解析非常强大,它提供了类似正则表达式的语法,基本上可以满足所有你想要获得的json内容。
github上有它的应用:https://github.com/json-path/JsonPath
JSONPath在线解析器:http://www.atoolbox.net/Tool.php?Id=792

| 名称 | 描述 | 输出数据类型 | 
|---|---|---|
| min() | 获取数值类型数组的最小值 | Double | 
| max() | 获取数值类型数组的最大值 | Double | 
| avg() | 获取数值类型数组的平均值 | Double | 
| stddev() | 获取数值类型数组的标准差 | Double | 
| length | 获取数值类型数组的长度 | Int | 
过滤器是用于过滤数组的逻辑表达式,一个通常的表达式形如:[?(@.age > 18)],可以通过逻辑表达式&&或||组合多个过滤器表达式,例如[?(@.price < 10 && @.category == ‘fiction’)]。
字符串必须用单引号或双引号包围,例如[?(@.color == ‘blue’)] or [?(@.color == ‘blue’)]。
| 操作符 | 描述 | 
|---|---|
| == | 等于,但数字1不等于字符’1’ | 
| != | 不等于 | 
| < | 小于 | 
| <= | 小于等于 | 
| > | 大于 | 
| >= | 大于等于 | 
| =~ | 判断是否符合正则表达式,例如[?(@.name =~ /foo.*?/i)] | 
| in | 属于符号,例如[?(@.size in [‘S’, ‘M’])] | 
| nin | 排除符号(not in) | 
| size | 长度比较符号,判断字符串或数组的长度是否一样 | 
| empty | 空值符号 | 
{
  "store": {
    "book": [
      {
        "category": "reference",
        "author": "Nigel Rees",
        "title": "Sayings of the Century",
        "price": 8.95
      },
      {
        "category": "fiction",
        "author": "Evelyn Waugh",
        "title": "Sword of Honour",
        "price": 12.99
      },
      {
        "category": "fiction",
        "author": "Herman Melville",
        "title": "Moby Dick",
        "isbn": "0-553-21311-3",
        "price": 8.99
      },
      {
        "category": "fiction",
        "author": "J. R. R. Tolkien",
        "title": "The Lord of the Rings",
        "isbn": "0-395-19395-8",
        "price": 22.99
      }
    ],
    "bicycle": {
      "color": "red",
      "price": 19.95
    }
  },
  "expensive": 10
}

回到顶部
咨询热线
