如下的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,"isbn": "0-553-21311-3"}],"bicycle": {"color": "red","price": 19.95}}
}

private static void jsonPathTest() {JSONObject json = jsonTest();//调用自定义的jsonTest()方法获得json对象,生成上面的json//输出book[0]的author值String author = JsonPath.read(json, "$.store.book[0].author");//输出全部author的值,使用Iterator迭代List<String> authors = JsonPath.read(json, "$.store.book[*].author");//输出book[*]中category == 'reference'的bookList<Object> books = JsonPath.read(json, "$.store.book[?(@.category == 'reference')]");               //输出book[*]中price>10的bookList<Object> books = JsonPath.read(json, "$.store.book[?(@.price>10)]");//输出book[*]中含有isbn元素的bookList<Object> books = JsonPath.read(json, "$.store.book[?(@.isbn)]");//输出该json中所有price的值List<Double> prices = JsonPath.read(json, "$..price");//可以提前编辑一个路径,并多次使用它JsonPath path = JsonPath.compile("$.store.book[*]"); List<Object> books = path.read(json);
}

语法:

JsonPath

描述

$

根节点

@

当前节点

.or[]

子节点

..

选择所有符合条件的节点

*

所有节点

[]

迭代器标示,如数组下标

[,]

支持迭代器中做多选

[start:end:step]

数组切片运算符

?()

支持过滤操作

()

支持表达式计算

原文地址:http://www.cnblogs.com/weilunhui/p/3857366.html

JSONPATH使用方法相关推荐

  1. Python:数据提取之JSON与JsonPATH

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,它使得人们很容易的进行阅读和编写.同时也方便了机器进行解析和生成.适用于进行数据交互的场景,比如网站前台与 ...

  2. python json模块有什么用_Python中json模块与jsonpath模块的区别是什么

    Python中json模块与jsonpath模块的区别是什么 发布时间:2021-02-02 11:15:52 来源:亿速云 阅读:94 作者:小新 这篇文章主要介绍了Python中json模块与js ...

  3. Python爬虫(十三)_JSON模块与JsonPath

    数据提取之JSON与JsonPATH JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它是的人们很容易的进行阅读和编写.同时也方便了机器进行解析和生成.适用 ...

  4. 网络爬虫--13.数据提取之JSON与JsonPATH

    文章目录 一. 前言 二. JSON 三. json.loads() 四. json.dumps() 五. json.dump() 六. json.load() 七. JsonPath 八. Json ...

  5. 【Python网络蜘蛛 · 6】:明文和密文的转换、json模块的使用、jsonpath模块的使用(附源代码)

    目录 一.明文和密文的转换 1.什么是明文密文? 2.明文和密文之间的转换 代码演示如下 二.json模块的使用 1.什么是json? 2.json字符串和字典的转换 代码演示: 三.jsonpath ...

  6. JSONPath库:使用类似Xpath的语法解析JSON数据

    简介 JSONPath是一种信息抽取类库,是从JSON文档中抽取指定信息的工具,提供多种语言实现版本,包括:Javascript, Python, PHP 和 Java.JsonPath 对于 JSO ...

  7. java jsonpath过滤_JSONPATH json解析工具

    2.json-path 快速入门 一.json-path中的操作符 二.json-path中可以使用的函数 三.过滤操作符 3.maven依赖 com.jayway.jsonpath json-pat ...

  8. python jsonpath库_Python爬虫(十六)_JSON模块与JsonPath

    本篇将介绍使用,更多内容请参考:Python学习指南 数据提取之JSON与JsonPATH JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它是的人们很容易 ...

  9. 数据提取之JSON与JsonPATH

    点击上方"IT共享之家",进行关注 回复"资料"可获赠Python学习福利 今 日 鸡 汤 蜡烛有心还惜别,替人垂泪到天明. 背景介绍 我们知道再爬虫的过程中我 ...

最新文章

  1. 测试思想-好东西与大家分享-1
  2. webstorm 设置tslint_webstorm(2019)配置eslint规范
  3. WinForm DataGridView 绑定泛型List(ListT)/ArrayList不显示的原因和解决
  4. java线程如何继承,java多线程(一)之继承Thread类
  5. iphone屏幕录制_苹果6s有屏幕录制吗
  6. SQL LIKE通配符 模糊查询
  7. 银行核心系统之存款业务(一)
  8. 证券投资基金和股票、债券的区别和联系
  9. android canvas添加文字居中,android Canvas drawText 文字居中
  10. Linux centos7.6 安装elasticsearch8.x (es8) 教程
  11. 谢孟军:中国 Go 语言领军人创业第五年
  12. 解决nexus 6p 无限重启的问题。nexus 6p 刷入twrp,magisk
  13. 百度网盘 备份mysql数据库_利用百度云免费备份SQL数据库
  14. Altium Designer 18中的System–Transparency
  15. Android 组合控件之删除文本框
  16. AutoHotKey使用技巧
  17. flink监控prometheus/influxdb + grafana企业实战
  18. c语言程序设计实践教程鸡兔同笼,C语言程序设计100例之(1):鸡兔同笼
  19. 迅捷CAD看图怎么快速查看图纸呢?
  20. 2012 年1月1日

热门文章

  1. Qt QML模块提供的重要C ++类
  2. C语言有序数组转为平衡的二叉树(附完整源码)
  3. C语言在数组中找到最大的元素(附完整源码)
  4. C++LU decomposition(LU分解)的实现算法(附完整源码)
  5. C++kruskals算法生成最小协议树(附完整源码)
  6. QT的QDtlsClientVerifier类的使用
  7. ubuntu 命令卡住_如何在Ubuntu系统中重置root密码
  8. 该功能仅支持Android5.0,Android 5.0 android:elevation适用于View,但不适用于Button?
  9. 27_pytorch全连接层,使用MNIST的分类案例(学习笔记)
  10. Solr Admin中带高亮查询,带score查询;edismax的mm查询