JsonPath用法详解

JsonPath用法详解JSONPath是一种信息抽取类库,是从JSON文档中抽取指定信息的工具,提供多种语言实现版本,包括Javascript、Python、PHP和Java。JSONPath的安装方法如下:pipinstalljsonpathJSONPath语法和XPATH语法对比JSON结构清晰,可读性高,复杂度低,非常容易匹配。JSONPath的语法与Xpath类似,如下表所示为JSONPath与XPath语法对比。下面使用一个JSON文档演示JSONPath的具体使用。JSON文档的内容如下:{

大家好,又见面了,我是你们的朋友全栈君。

JSONPath是一种信息抽取类库,是从JSON文档中抽取指定信息的工具,提供多种语言实现版本,包括Javascript、Python、PHP和Java。

JSONPath的安装方法如下:

pip install jsonpath

JSONPath语法和XPATH语法对比 JSON结构清晰,可读性高,复杂度低,非常容易匹配。JSONPath的语法与Xpath类似,如下表所示为JSONPath与XPath语法对比。
在这里插入图片描述下面使用一个JSON文档演示JSONPath的具体使用。JSON 文档的内容如下:

{ 
   
  "store": { 
   
    "book":[
      { 
    "category": "reference",
        "author": "Nigel Rees",
        "title": "Sayings of the Century",
        "price": 8.95
      },
      { 
    "category": "fiction",
        "author": "J. R. R. Tolkien",
        "title": "The Lord of the Rings",
        "isbn": "0-395-19395-8",
        "price": 22.99
      }
    ],
    "bicycle": { 
   
      "color": "red",
      "price": 19.95
    }
  }
}

假设变量bookJson中已经包含了这段JSON字符串,可通过以下代码反序列化得到JSON对象:

books=json.loads(bookJson)

(1)查看store下的bicycle的color属性:

checkurl = "$.store.bicycel.color"
print(jsonpath.jsonpath(books, checkurl))
# 输出:['red']

(2)输出book节点中包含的所有对象:

checkurl = "$.store.book[*]"
object_list=jsonpath.jsonpath(books, checkurl)
print(object_list)

(3)输出book节点的第一个对象:

checkurl = "$.store.book[0]"
obj = jsonpath.jsonpath(books, checkurl)
print(obj)
# 输出: ['category': 'reference', 'author': 'Nigel Rees', 'title': 'Sayings of the Century', 'price': 8.95}]

(4)输出book节点中所有对象对应的属性title值:

checkurl = "$.store.book[*].title"
titles = jsonpath.jsonpath(books, checkurl)
print(titles)
# 输出: ['Sayings of the Century', 'The Lord of the Rings']

(5)输出book节点中category为fiction的所有对象:

checkurl = "$.store.book[?(@.category=='fiction')]”
books=jsonpath.jsonpath(books, checkurl)
print(books)
# 输出:[{'category': 'fiction', 'author': 'J. R. R. Tolkien', 'title': 'The Lordof the Rings', 'isbn': '0-395-19395-8', 'price': 22.99}]

(6)输出book节点中所有价格小于10的对象:

checkurl="$.store.book[?(@.price<10)]"
books = jsonpath.jsonpath(books, checkurl)
print(books)
# 输出: [{'category': 'reference', 'author': 'Nigel Rees', 'title':'Sayings of the Century', 'price': 8.95}]

(7)输出book节点中所有含有isb的对象:

checkurl = "$.store.book[?(@.isb)]"
books = jsonpath.jsonpath(books,checkurl)
print(books)
# 输出: [{'category': 'fiction', 'author': 'J. R. R. Tolkien', 'title': 'The Lord of the Rings', 'isbn': '0-395-19395-8', 'price': 22.99}]
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/150765.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • python 数组转换为字典_char转换为string

    python 数组转换为字典_char转换为string先看下join函数:语法为:str.join(sequence)sequence–要连接的元素序列实例一:连接字符串str1=’-‘seq=(“a”,”b”,”c”)printstr1.join(seq)实例二:连接数组(数组元素为字符串)str2=’*’seq2=[“a”,”b”,”c”]printstr2.join(seq2)

    2022年10月9日
    5
  • VBS代码–很恶心的整人效果

    VBS代码–很恶心的整人效果—-我们会经常遇到一些无聊的文件,一旦我们打开它就会出现各种烦人的新窗口,今天来看的是VBS脚本—-一:VBS简介VBS是基于VisualBasic的脚本语言。VBS的全称是:MicrosoftVisualBasicScriptEditon。(微软公司可视化BASIC脚本版)。其语言类似VisualBasic(VB),VBS是微软的WSH脚本的一种,WSH是是Win

    2022年4月28日
    68
  • javascript 高级教程 视频_精通JavaScript

    javascript 高级教程 视频_精通JavaScriptJavaScript简介JavaScript历史本节为您讲解JavaScript和客户端脚本的起源。JavaScript实现完整的JavaScript实现是由以下3个不同部分组成的:ECMAScript、文档对象模型、浏览器对象模型。ECMAScript基础ECMAScript语法Java和ECMAScript有一些关键的语法特性相同,也有一…

    2022年8月22日
    8
  • 毕业设计方案_apabi document是什么文档

    毕业设计方案_apabi document是什么文档毕设存档——mdlt实现流程MATLAB环境配置mex-setup功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML图表FLowchart流程图导出与导入导出导入M…

    2025年11月11日
    5
  • 这2个PDF转Word免费不限页数工具很多人没用过

    这2个PDF转Word免费不限页数工具很多人没用过很多人在搜索下载过PDF转换器的小伙伴都会有一个灵魂拷问:难道就没有免费还没页数限制的PDF转Word的工具吗?小编经过不断的对比和试用,找到以下两款好用免费的工具,相信总有一个你能用上。一、PDF转换器相信了解PDF这种文档格式设计由来的人对于Adobe肯定不陌生,所以首先要说的PDF转换工具就是AdobePDF,下载安装后打开软件,直接将PDF拖到软件页面打开即可,然后点击左上角“文件”中的“另存为其他”,选择我们需要转换成的Word格式就可以了。或者点击右侧“工具”选项中的“将文件导出为”并

    2022年4月27日
    96
  • C语言格式输出

    C语言格式输出格式说明由“%”和格式字符组成,如:%d%f等。它的作用是将输出的数据转换成指定的格式输出。格式说明总是由“%”字符开始的。格式字符有:d、o、x、u、c、s、f、e、g等。1、%d整形输出,%ld长整形输出。2、%o以八进制数形式输出整数。3、%x以十六进制形式输出整数,或输出字符串的地址。4、%u以十进制数输出unsigned型整数(无符号数)。注意:%d与%u有无符号数值范围。5、%c用来输出一个字符。6、%s用来输出一个字符串。7、%f用来输出实数,以小数形式输出,默认情况下保留小数

    2022年7月24日
    9

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号