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/149496.html原文链接:https://javaforall.net

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


相关推荐

  • jmeter测试系统最大并发_jmeter高并发测试

    jmeter测试系统最大并发_jmeter高并发测试操作流程:1.先添加一个线程组2.添加一个查看树*多线程测试指的是在短时间内多次重复请求*多进程测试指的是同一时间内多次重复请求下面图文展示操作步骤:一、添加线程组先新建一个测试计划如下图:创建线程组:在新建的测试计划上右键如下图:线程组参数详解:1.线程数意思是请求多少次2.Ramp-UpPeriod(inseconds)…

    2022年9月30日
    5
  • 一分钟学会Python中pip的安装与使用

    一分钟学会Python中pip的安装与使用文章目录一、简单介绍二、下载安装三、最常用命令1、显示版本和路径2、获取帮助3、升级pip4、安装包5、升级包6、卸载包7、搜索包8、显示安装包信息9、列出已安装的包10、查看指定包的详细信息一、简单介绍pip是Python包管理工具,该工具提供了对Python包的查找、下载、安装和卸载的功能,现在大家用到的所有包不是自带的就是通过pip安装的。Python2.7.9+或Python3.4+以上版本都自带pip工具。给出pip官网链接:pip官网。二、下载安装可以通过命令

    2022年4月30日
    85
  • [leetcode] Combination Sum and Combination SumII

    [leetcode] Combination Sum and Combination SumII

    2022年1月11日
    44
  • PAT乙级1019

    PAT乙级10191019 数字黑洞(20 分)给定任一个各位数字不完全相同的4位正整数,如果我们先把4个数字按非递增排序,再按非递减排序,然后用第1个数字减第2个数字,将得到一个新的数字。一直重复这样做,我们很快会停在有“数字黑洞”之称的 6174,这个神奇的数字也叫Kaprekar常数。例如,我们从6767开始,将得到7766-6677=10899810-0189…

    2022年5月6日
    43
  • spring boot redis 缓存_redis本地缓存

    spring boot redis 缓存_redis本地缓存SpringBoot集成Redis缓存查询操作是应用中最常见的操作,如果每次查询都从MySQL中查询则会影响效率,通常需要引入缓存来实现查询性能的优化。缓存可以选择本地缓存,远程缓存或本地缓存结合远程缓存。本地缓存可以使用Guava或Caffeine提供的解决方案,而远程缓存则可以选择Redis这样的内存数据库。本文记录一下SpringBoot集成Redis做缓存的相关配置。1引入依赖引入相应Starter。<dependency><gr

    2025年12月10日
    5
  • python初级:基础知识学习-循环、列表、元组、集合、字典

    python初级:基础知识学习-循环、列表、元组、集合、字典

    2021年10月6日
    33

发表回复

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

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