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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • mapstruct使用的正确姿势

    mapstruct使用的正确姿势我们都知道,随着一个工程的越来越成熟,模块划分会越来越细,其中实体类一般存于domain之中,但domain工程最好不要被其他工程依赖,所以其他工程想获取实体类数据时就需要在各自工程写model,自定义model可以根据自身业务需要映射相应的实体属性。这样一来,这个映射工程貌似并不简单了。阿森差点就犯难了……序 所以阿淼今天就要给大家安利一款叫mapstruct的插件,它就…

    2022年5月17日
    38
  • 自监督学习(二)自监督学习性能概述

    自监督学习(二)自监督学习性能概述ScalingandBenchmarkingSelf-SupervisedVisualRepresentationLearning介绍介绍

    2022年9月14日
    0
  • mysql优化 面试_数据库优化方案整理

    mysql优化 面试_数据库优化方案整理点赞是一种积极的生活态度!有支持才有动力!微信搜索公众号【达摩克利斯之笔】获取更多资源,文末有二维码!前言数据库优化是一个老生常谈的问题,刚入门的小白或者工作N年的光头对这个问题应该都不陌生,你要面试一个中高级工程师那么他就想”哥俩好”一样那么粘,面试官肯定会问这个问题,这篇文章我们就和它哥俩好!而且这个问题就是一个送分题,数据库的优化方案基本就是那些,答案也都是固定的,大家只要好好…

    2022年10月27日
    0
  • Linux系统中安装软件的三种方法

    这篇来说一下Linux系统中怎么安装软件,首先说一下应用程序与系统命令的区别:1、文件位置系统命令:一般在/bin和/sbin目录中,或为shell内部指令应用程序:通常在/usr/bin和/usr/sbin目录中2、主要用途系统命令:完成对系统的基本管理工作,例如IP配置、管理账户应用程序:完成相对独立的其他辅助任务,例如网页浏览器3、适用环境系统命令:一般只在字…

    2022年4月7日
    73
  • Android图形动画 使用ScaleAnimation

    Android图形动画 使用ScaleAnimation使用ScaleAnimation实现了一个类似于翻转的动画效果。感觉ScaleAnimation算是一个比较好用的动画类了,看了一下API感觉方法和构造方法也都很简单。就不再赘述太多直接上代码吧– 第一步:准备两张照片,放置在res/drawble下。首先在layout中写好布局文件,这里要用framelayout布局,让两张图片一张覆盖在另一张上。相信聪明的你…

    2022年8月31日
    1
  • intellij idea和eclipse比较_eclipse与idea的区别

    intellij idea和eclipse比较_eclipse与idea的区别             【总结】IDEA和Eclipse的比较    两个开发编辑器,可以说Eclispe之前占据了上风,但近几年来IDEA的使用率猛扑直追,现在IDEA有着反超的气势,到底两者之间有什么相似之处,又有什么区别呢?我们来看一下~~。   一、快捷键比较快捷键 Eclipse IDEA 查找类名 CTRL+…

    2022年8月26日
    5

发表回复

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

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