zoukankan      html  css  js  c++  java
  • JsonPath

    JsonPath

      • JsonPath参照XPath解析xml的方式来解析Json
      • JsonPath用符号$表示最外层对象,类似于Xpath中的根元素
      • JsonPath可以通过点语法来检索数据,如: shell $.store.book[0].title
      • 也可以使用中括号[]的形式,如 shell $['store']['book'][0]['title']

     

    运算符(Operators)

    运算符说明$根元素@当前元素*通配符,可以表示任何元素..递归搜索.子节点(元素)['' (, '')]一个或者多个子节点[ (, )]一个或者多个数组下标[start:end]数组片段,区间为[start,end)[?()]过滤器表达式,其中表达式结果必须是boolean类型,如可以是比较表达式或者逻辑表达式

    在pom.xml中添加Maven依赖

    <dependency>
        <groupId>com.jayway.jsonpath</groupId>
        <artifactId>json-path</artifactId>
        <version>2.3.0</version>
    </dependency>
    {
                //最简单直接暴力的方式是使用JsonPath 访问read静态方法
                String json = "{" +
                        ""lemon":{"teachers":[{"id":"101","name":"诸葛","addr":"昭君","age":25}" +
                        ",{"id":"102","name":"赵云","age":28}" +
                        ",{"id":"103","name":"梦琪","addr":"上路","age":16}" +
                        ",{"id":"104","name":"尚香","addr":"下路","age":29}]" +
                        ","salesmans":[{"id":"105","name":"张飞","age":17}" +
                        ",{"id":"106","name":"关羽","age":27}]}" +
                        ","avg":25}";
                List<String> authors = JsonPath.read(json, "$.lemon.teachers[*].name");
                log.info("authors:" + authors);
            }
    
            {
                //jsonpath还提供一些简单对象的映射,如将一个时间戳读取解析为java.util.Date对象
                String json = "{"date_as_long" : 1411455611975}";
                Date date = JsonPath.parse(json).read("$['date_as_long']", Date.class);
                log.info("date:" + date);
            }
    
            {
                //将jsonPath映射输出为pojo对象
                String userJson = "{'id':1,'name':'happy','age':25}";
                Hello user = JsonPath.parse(userJson).read("$", Hello.class);
                log.info("user:" + user);
            }
    
    
  • 相关阅读:
    SQL Server数据库文件存储目录转移
    窗口管理器 dwm安装
    arch linux 安装
    如何在windows 2003(虚拟主机)上面部署MVC3
    .NET接入微信支付(一)JS API接入 V3
    MongoDB部署实战(一)MongoDB在windows平台分片集群部署
    .NET接入UnionPay银联支付(一)手机wap支付
    cas4.2.7 集群服务搭建
    JAVA计算整数的位数
    JAVA求解质因数
  • 原文地址:https://www.cnblogs.com/ooo0/p/14793129.html
Copyright © 2011-2022 走看看