JSONPath表达式

JSONPath表达式前言JSONPath是一种简单的方法来提取给定JSON文档的部分内容。JSONPath提供的json解析非常强大,它提供了类似正则表达式的语法,基本上可以满足所有你想要获得的json内容。JSONPath表达式语法1、操作符?:问号,标记表达式的开头。使用的语法[?(表达)]例如:[?(Expression)]@:在符号处表示正在处理的当前节点。语法使用$.books[?@.price>100]注意:使用JSONPath的[]操作符操作一个对象或者数组,索引是从0开始。

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

前言

JSONPath是一种简单的方法来提取给定JSON文档的部分内容。JSONPath提供的json解析非常强大,它提供了类似正则表达式的语法,基本上可以满足所有你想要获得的json内容。

JSONPath表达式语法

1、操作符
在这里插入图片描述

  • ?:问号,标记表达式的开头。使用的语法 [?(表达)]
    例如:[?(Expression)]

  • @:在符号处表示正在处理的当前节点。语法使用$.books[?@.price>100]

注意:使用JSONPath的[]操作符操作一个对象或者数组,索引是从0开始。

2、函数
函数可以在路径尾部调用——函数的输入是路径表达式的输出。函数的输出取决于函数本身。
在这里插入图片描述
3、过滤运算符
过滤器是筛选数组的逻辑表达式。
在这里插入图片描述

范例

{ 
   
    "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
            },
            { 
   
                "category": "fiction",
                "author": "Herman Melville",
                "title": "Moby Dick",
                "isbn": "0-553-21311-3",
                "price": 8.99
            },
            { 
   
                "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
        }
    },
    "expensive": 10
}

在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

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

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

相关推荐

  • IP地址和子网划分例题详解

    IP地址和子网划分例题详解1、为什么要划分子网?IPv4地址如果只使用有类(A、B、C类)来划分,会造成大量的浪费或者不够用,为了解决这个问题,可以在有类网络的基础上,通过对IP地址的主机号进行再划分,把一部分划入网络号,就能划分各种类型大小的网络了。2、IPv4子网划分与聚合为了解决IPv4的不足,提高网络划分的灵活性,诞生了两种非常重要的技术,那就是VLSM(可变长子网掩码)和CIDR(无类别域间路由),把传统标准的IPv4有类网络演变成一个更为高效,更为实用的无类网络。关于VLSM和CIDR的介绍参考上篇子网掩码详解有

    2022年6月27日
  • #Photoshop#_pdf文档解析失败

    #Photoshop#_pdf文档解析失败来源:导入AdobePhotoshop(.psd)图像AdobePhotoshop档案格式规格:https://www.adobe.com/devnet-apps/photoshop/fileformatashtml/#50577409_89817vs2017案例

    2022年5月3日
  • js的数据类型有哪几种_前端数据类型有哪几种

    js的数据类型有哪几种_前端数据类型有哪几种js的数据类型(侧重点是基本数据类型)现如今的基本数据类型(原始类型)有几种?5?6?7?答曰都对;es5中是五种:Number、String、Boolean、undefined、Null;在es6中新加了一种:Symbol;而现如今在谷歌67版本中还出现了一种:bigInt;故而从最新的角度来说一共有七种;如下图所示:…

    2022年9月4日
  • 拉姆达语法_map的常用方法

    拉姆达语法_map的常用方法importorg.apache.commons.collections4.MapUtils;@OverridepublicList<Map<String,Object>>getGuidelineSceneStatistical(StringdeptCode){List<Map<String,Object>>mapList=newArrayList<>();List<

    2022年9月2日
  • 分享一份软件测试项目实战(web+app+h5+小程序)

    分享一份软件测试项目实战(web+app+h5+小程序)大家好,我是谭叔。本次,谭叔再度出马,给大家找了一个非常适合练手的软件测试项目,此项目涵盖web端、app端、h5端、小程序端,可以说非常之全面。缘起在这之前,谭叔已经推出了九套实战教程。但是,这些教程以web测试和接口测试为主,没有app等项目。为了让实战项目更加全面、涵盖到各端,同时也为了满足读者粉丝们对项目的高需求,我决定再给大家找一个项目。(实力宠粉,求个赞不过分吧~)说实话,在找项目的过程中,我下载过(甚至付费下载过)N多个项目、联系过很多项目的作者,但是绝大部分项目,在我看来,并不

    2022年6月22日
  • c# Response.ContentType类型汇总

    c# Response.ContentType类型汇总 application/activemessageapplication/andrew-insetapplication/applefileapplication/atomicmailapplication/dca-rftapplication/dec-dxapplication/mac-binhex40hqxapplication/mac-compactprocptapplication/

    2022年7月19日

发表回复

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

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