JSON Path表达式

Posted zhuzhaoli

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JSON Path表达式相关的知识,希望对你有一定的参考价值。

 

JSON Path 描述
$ 表示根元素
@ 表示当前节点
表示子节点
.. 选择所有符合条件的节点
* 所有节点
[] 迭代器标识,如数组下标
[,] 支持迭代器中多选
[start:end:step] 数组切片
?() 支持过滤
() 支持表达式计算

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 1 { "store": {
 2     "book": [ 
 3       { "category": "reference",
 4         "author": "Nigel Rees",
 5         "title": "Sayings of the Century",
 6         "price": 8.95
 7       },
 8       { "category": "fiction",
 9         "author": "Evelyn Waugh",
10         "title": "Sword of Honour",
11         "price": 12.99
12       },
13       { "category": "fiction",
14         "author": "Herman Melville",
15         "title": "Moby Dick",
16         "isbn": "0-553-21311-3",
17         "price": 8.99
18       },
19       { "category": "fiction",
20         "author": "J. R. R. Tolkien",
21         "title": "The Lord of the Rings",
22         "isbn": "0-395-19395-8",
23         "price": 22.99
24       }
25     ],
26     "bicycle": {
27       "color": "red",
28       "price": 19.95
29     }
30   }
31 }
JSONPath 结果
$.store.book[*].author 书店所有书的作者
$..author 所有的作者
$.store.* store的所有的元素,包括book和bicyle
$.store..price store所有东西的price
$..book[2] 第三本书
$..book[(@.legnth-1)] 最后一本书
$..book[0,1] 前面的两本书
$..book[:2] 前面的两本书
$..book[?(@.isbn)] 过滤出所有的包含isbn的书
$..book[?(@.price<10)] 过滤出价格低于10的书
$..* 所有元素

以上是关于JSON Path表达式的主要内容,如果未能解决你的问题,请参考以下文章

使用json path设置关联

实用代码片段将json数据绑定到html元素 (转)

json path espressions的语法学习

json 可视代码工作室Angular with Firebase片段

关于在各浏览器中插入音频文件的html代码片段

vs code 用户代码片段 html.json