jsonpath解析json
时间: 2023-06-21 09:14:54 浏览: 179
JSONPath 是一种用于在 JSON 数据中定位或筛选数据的语言。可以通过类似于 XPath 的语法来访问 JSON 数据结构的各个部分。以下是一些常见的 JSONPath 示例:
- `$`:根节点
- `$.store`:根节点下的 `store` 对象
- `$.store.book[*]`:根节点下的 `store` 对象中的所有 `book` 对象
- `$.store.book[0]`:根节点下的 `store` 对象中的第一个 `book` 对象
- `$.store.book[0].title`:根节点下的 `store` 对象中的第一个 `book` 对象的 `title` 属性
在 Python 中可以使用 jsonpath_rw 库来解析 JSON 数据。示例代码如下:
```python
import json
from jsonpath_rw import jsonpath, parse
# JSON 数据
data = {
"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
}
],
"bicycle": {
"color": "red",
"price": 19.95
}
}
}
# 解析 JSONPath
jsonpath_expr = parse('$.store.book[*].author')
result = [match.value for match in jsonpath_expr.find(data)]
# 输出结果
print(json.dumps(result, indent=4))
```
输出结果为:
```
[
"Nigel Rees",
"Evelyn Waugh"
]
```
阅读全文