zoukankan      html  css  js  c++  java
  • JsonPath 的使用

    场景: 之前处理json 对象,常常一层层去判断 ,获取值,

        往往涉及到多测判断,特别对于一些比较升的对象,此处推见使用jsonPath

    依赖:

    <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>fastjson</artifactId>
                <version>${fastjson.version}</version>
       </dependency>
    <fastjson.version>1.2.24</fastjson.version>

    Test:

        @Test
        public  void jsonPath() throws  Exception{
    //        {
    //             "username": "zhangsan",
    //              "性别": "男",
    //              "company": {
    //                "companyName": "中华",
    //                "address": "北京"
    //              },
    //              "cars": [
    //                "奔驰",
    //                "宝马"
    //              ]
    //        }
            String json = "{"username":"zhangsan","性别":"男","company":{"companyName":"中华","address":"北京"},"cars":["奔驰","宝马"]}";
            JSONObject jsonObject = JSONObject.parseObject(json);
            //判断 Json中company.companyName 的值是否包含"中华"
            boolean  isContaincompanyName = JSONPath.containsValue(jsonObject,"$.company.companyName","中华");
            System.err.println(isContaincompanyName);
            //获取json中的companyName 的值
            Object eval = JSONPath.eval(jsonObject, "$.company.companyName");
            System.err.println(eval);
            /**
             * 如果该字段没有, 返回null值
             */
            Object eval1 = JSONPath.eval(jsonObject, "$.company.companyName1");
            System.err.println(eval1);
        }
  • 相关阅读:
    TCP报文发送工具
    Java基础—注解的使用
    STM32以太网ETH
    EC20 minipcie版4g模块开发笔记
    usb端点(endpoint)知识详解
    STM32 usb_mem.c和usb_sil.c文件的分析
    USB的中断说明
    STM32 可编程电压监测器(PVD)实现数据掉电保存
    关于FSMC地址线的理解
    STM32F4—fsmc的配置步骤
  • 原文地址:https://www.cnblogs.com/lshan/p/11275471.html
Copyright © 2011-2022 走看看