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

JSONPath常用表达式

JSONPath是一种用于查询JSON数据的语言,其语法受到XML中XPath的启发‌。它允许通过路径表达式选择JSON文档中的节点,包括对象、数组或基本数据类型。与手动解析JSON相比,JSONPath提供了一种声明式的方法,只需描述想要的数据路径,而无需编写复杂的遍历代码‌

常用表达式

  1. 根节点‌:使用$表示根节点,代表整个JSON数据。 ‌子节点访问‌:可以使用点号.或方括号[‘’]来访问子节点。
    例如,$.store.book.title获取第一本书的标题。
  2. ‌数组索引‌:用于访问数组中的特定元素。例如,$.store.book‌:ml-citation{ref="1" data="citationList"}获取第二本书的所有信息。
  3. ‌通配符‌:*用于匹配所有元素或属性。例如,$.store.*选择store下的所有子节点。
    ‌递归搜索‌:..用于递归地查找所有符合条件的元素。例如,$..book在整个JSON数据中查找所有的book元素。
  4. ‌过滤器‌:?()用于根据特定条件过滤元素。例如,$.store.book[?(@.price <15)]选择价格低于15的书籍。
  5. ‌逻辑组合‌:可以使用&&||进行逻辑组合。例如,$.store.book[?(@.price < 15 &&@.category == 'fiction')]选择价格低于15且类别为小说的书籍。
  6. ‌算术运算‌:支持+、-、*、/、%等算术运算。例如,$.store.book.price * 2将第一本书的价格乘以2。
  7. ‌长度函数‌:length()用于获取数组或字符串的长度。例如,$.store.book.length()返回book数组的长度。
  8. ‌最小值和最大值‌:min()和max()用于获取数组中数字元素的最小值和最大值。例如,$.store.book[*].price.min()返回所有书籍价格的最小值‌
    示例
    假设有以下JSON数据:
{"store": {"book": [{ "category": "fiction", "title": "The Great Gatsby", "price": 30 },{ "category": "science", "title": "The Theory of Everything", "price": 40 }]}
}

‌获取所有书籍的价格‌:$.store.book[*].price
‌获取价格低于30的书籍‌:$.store.book[?(@.price < 30)]

相关文章:

  • WPF学习(二)
  • 蓝牙版本演进史:从 1.0 到 5.4 的技术突破 —— 面试高频考点与历年真题详解
  • LeetCode--34.在排序数组中查找元素的第一个和最后一个位置
  • css3 背景色渐变
  • 【java中使用stream处理list数据提取其中的某个字段,并由List<String>转为List<Long>】
  • DNS服务管理企业级实战模拟
  • Flask视频和图片上传
  • win11装vm虚拟机创建Linux常见问题!
  • 线上线下融合驱动:开源链动2+1模式与AI智能名片赋能高价值社群生态的机制研究
  • 常见的Dolphin Scheduler报错
  • Docker Compose部署Spring Cloud 微服务系统
  • 腾讯云搭建web服务器的方法
  • extern关键字:C/C++跨文件编程利器
  • FPGA基础 -- Verilog行为级建模之时序控制
  • 回溯----5.括号生成
  • 如何通过 5 种方式向 Android 手机添加音乐
  • ubuntu下python版本升级导致pyqt不能正常运行解决
  • MSYS2 环境下 Python 开发配置(结合 PyCharm)使用笔记
  • RNN为什么不适合大语言模型
  • html中的table标签以及相关标签
  • 晋中做网站/google关键词seo
  • 帝国网站模板建设视频/关键词的选取原则
  • 正规代加工/seo优化网站排名
  • 创建网站忘记了怎么办/深圳百度推广seo公司
  • 做网站起名字/seo薪酬水平
  • 建设静态网站工具/网络推广长沙网络推广