当前位置: 首页 > news >正文

python库 - jsonpath

JSONPath 是一种用于从 JSON 数据中提取数据的查询语言,类似于 XML 中的 XPath。它允许通过路径表达式来导航和查询 JSON 结构中的数据。JSONPath 在处理 API 响应、配置文件和复杂数据结构时非常有用。

以下是一些常用的 JSONPath 表达式及其功能:

  1. $:根节点,表示整个 JSON 对象。
  2. @:当前节点,通常在过滤器中使用。
  3. .:子节点操作符,用于访问对象的直接子属性。
  4. ..:递归下降操作符,用于递归地访问所有符合条件的子属性。
  5. *:通配符,匹配所有子节点。
  6. [ ]:数组索引操作符,用于访问数组中的元素。
  7. [start:end:step]:数组切片操作符,类似于 Python 中的切片操作。
  8. [?(expression)]:过滤器表达式,用于根据条件过滤数据。

下面是一些具体的例子来帮助理解 JSONPath 的用法:

假设我们有以下 JSON 数据:

{"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}}
}
  1. $.store.book[*].author:获取所有书的作者。

    ["Nigel Rees", "Evelyn Waugh"]
    
  2. $..book[1].title:获取第二本书的标题。

    "Sword of Honour"
    
  3. $.store..price:获取所有物品的价格。

    [8.95, 12.99, 19.95]
    
  4. $..book[?(@.price > 10)].title:获取价格大于 10 的书的标题。

    ["Sword of Honour"]
    
  5. $..book[-1:]:获取最后一本书的信息。

    [{"category": "fiction","author": "Evelyn Waugh","title": "Sword of Honour","price": 12.99}
    ]
    

JSONPath 的实现有很多,在 Python 中可以使用 jsonpath 库,在 JavaScript 中可以使用 jsonpath 库。

http://www.lryc.cn/news/406043.html

相关文章:

  • [RK3588][Android12] Android->OTA包超过4个G导致打包失败
  • (雷达数据处理中的)跟踪算法(3) – 可用于目标跟踪实践的数据集介绍解析
  • 【C语言报错已解决】Use of Uninitialized Variable
  • 3 Go语言的变量声明
  • PyMySQL库的使用方法
  • iOS 创建一个私有的 CocoaPods 库
  • Linux_实现UDP网络通信
  • C# 代理模式
  • 【1】Python机器学习之基础概念
  • HashMap源码解析
  • [Javascript】前端面试基础3【每日学习并更新10】
  • C++自定义字典树结构
  • dockerfile部署wordpress
  • CSS(二)——CSS 背景
  • 开机出现grub无法进入系统_电脑开机出现grub解决方法
  • uboot 设置bootargs配置内核网络挂载根文件系统
  • Vue3+.NET6前后端分离式管理后台实战(三十一)
  • 22集 如何minimax密钥和groupid-《MCU嵌入式AI开发笔记》
  • 决策树的概念
  • C++《类和对象》(中)
  • SpringBoot中JSR303校验
  • 图像数据增强方法概述
  • 【学习笔记】无人机系统(UAS)的连接、识别和跟踪(五)-无人机跟踪
  • 分享从零开始学习网络设备配置--任务6.1 实现计算机的安全接入
  • 双向链表(C语言版)
  • 【算法/学习】前缀和差分
  • idea Project 不显示文件和目录
  • Linux--Socket编程预备
  • 100个python的基本语法知识【下】
  • Git如何将一个分支上的修改转移到另一个分支