Python:JSONPath基本语法和使用示例

简介: Python:JSONPath基本语法和使用示例

基本语法

JSONPath语法元素和对应XPath元素的对比

image.png


xpath索引下标是从1开始的

jsonpath索引下标是从0开始

Python中使用

安装依赖

pip install jsonpath


代码示例

# -*- coding: utf-8 -*-
import jsonpath
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
        }
    }
}
ret = jsonpath.jsonpath(data, '$.store.book[*].author')
print(ret)
# ['Nigel Rees', 'Evelyn Waugh']
ret = jsonpath.jsonpath(data, '$..author')
print(ret)
# ['Nigel Rees', 'Evelyn Waugh']
ret = jsonpath.jsonpath(data, '$.store..price')
print(ret)
# [8.95, 12.99, 19.95]
ret = jsonpath.jsonpath(data, '$..book[1].title')
print(ret)
# ['Sword of Honour']
ret = jsonpath.jsonpath(data, '$..book[?(@.price<10)].title')
print(ret)
# ['Sayings of the Century']

参考

  1. https://goessner.net/articles/JsonPath/
  2. JSONPath-简单入门
相关文章
|
10天前
|
数据挖掘 Python
Python示例,展示如何找到最近一次死叉之后尚未形成金叉的位置
【10月更文挑战第7天】金融分析中,“死叉”指短期移动平均线(如MA5)跌破长期移动平均线(如MA10),而“金叉”则相反。本文提供Python代码示例,用于找出最近一次死叉后未形成金叉的位置,涵盖移动平均线计算、交叉点判断及结果输出等步骤,适合金融数据分析。
24 4
|
28天前
|
存储 Python
Python示例:分解一个不多于指定位的正整数
Python示例:分解一个不多于指定位的正整数
28 0
|
1天前
|
人工智能 Ubuntu IDE
【Python】基础:环境配置与基础语法
本文介绍了Python编程语言及其环境配置方法。Python由Guido van Rossum于1991年创建,以其简洁、易学和强大的功能著称。文章详细讲解了Python的主要特点、Windows和Ubuntu下的安装配置步骤、基础语法、控制流、函数、文件操作、模块使用及面向对象编程等内容,帮助读者快速入门Python编程。
13 4
|
18天前
|
存储 C语言 索引
Python 语法及入门 (超全超详细) 专为Python零基础 一篇博客让你完全掌握Python语法
本文全面介绍了Python的基础知识,包括Python的诞生背景、为什么学习Python、Python的应用场景、Python环境的安装、Python的基础语法、数据类型、控制流、函数以及数据容器的使用方法,旨在为Python零基础读者提供一篇全面掌握Python语法的博客。
22 0
Python 语法及入门 (超全超详细) 专为Python零基础 一篇博客让你完全掌握Python语法
|
19天前
|
存储 数据可视化 数据处理
【Python篇】快速理解Python语法:全面指南
【Python篇】快速理解Python语法:全面指南
21 1
|
28天前
|
Java Linux C++
30天拿下Python之基础语法
30天拿下Python之基础语法
23 4
|
6天前
|
Linux Android开发 开发者
【Python】GUI:Kivy库环境安装与示例
这篇文章介绍了 Kivy 库的安装与使用示例。Kivy 是一个开源的 Python 库,支持多平台开发,适用于多点触控应用。文章详细说明了 Kivy 的主要特点、环境安装方法,并提供了两个示例:一个简单的 Hello World 应用和一个 BMI 计算器界面。
13 0
|
28天前
|
Python
Python编程的循环结构小示例(二)
Python编程的循环结构小示例(二)
18 1
|
11天前
|
PyTorch 测试技术 算法框架/工具
Python中Thop库的常见用法和代码示例
肆十二在B站分享了关于THOP(Torch-OpCounter)的实战教学视频。THOP是一个用于计算PyTorch模型操作数和计算量的工具,帮助开发者评估模型复杂度和性能。本文介绍了THOP的安装、使用方法及基本用例,包括如何计算模型的FLOPs和参数量。
27 0
|
11天前
|
Python
Python中tqdm模块的常用方法和示例
`tqdm` 是一个快速、可扩展的Python进度条库,适用于长循环中添加进度提示。通过封装迭代器 `tqdm(iterator)`,可以轻松实现进度显示。支持自定义描述、宽度及嵌套进度条,适用于多种迭代对象。在Jupyter notebook中,可自动调整显示效果。
19 0