Jmeter笔记——如何使用json提取器,提取json多层列表下指定字段所在层的其他数据(转)

Posted anna1210

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Jmeter笔记——如何使用json提取器,提取json多层列表下指定字段所在层的其他数据(转)相关的知识,希望对你有一定的参考价值。

一个简单的json返回列表:
   

[
        {
            "name": "青岛联通通信有限公司",
            "pId": "0",
            "id": "2f6cde14f1584e398e3dc12b9deb1553"
        },
        {
            "name": "深圳市新源润产品信息技术有限公司",
            "pId": "0",
            "id": "302fcfabc4a24ea194c973f46c66b5e9"
        },
        {
            "name": "深圳市康凯斯科技有限公司",
            "pId": "0",
            "id": "00c1546b99ca44a9b9385b70879d81d4"
        },
        {
            "name": "DGV25供应商",
            "pId": "0",
            "id": "91eae527fb134d24899cbb2d6b255fdd"
        },
                 (...此处省略N个列表...)
        {
            "name": "南京保单供应商",
            "pId": "0",
            "id": "6327be8b748b4d92b2e2fdc319debb9e"
        }
    ]

 $..name     列出所有name的列表    

$.[0].name   提取数组中第一个list下的name的值   因为数组没有字段名所以直接写了 [0],如果有字段名可以在前面加上

比如 $.Province[0].name

$..[?(@.name==\'DGV25供应商\')]       筛选出name名为“DGV25”的所有list数据

$.[:2]     筛选前两条数据

举例子,注意:
$.Province[:2].population 是筛选出前两条数据 ;
$.Province[2].population 是排除前两条数据;
$.Province[-2].population是排除后两条数据,

 

 重点来了=========================重点来了

多层嵌套的jsonlist,需要提取所有列表下,name=“DGV25供应商”时的 id 和 pId 数据

如果按照传统的正则表达式提取,很难满足需求了

因此需要用到jsonpath表达式:

$..[?(@.name==\'DGV25供应商\')].["id","pId"]

————————————————
版权声明:本文为CSDN博主「嗨呀丶都是同学」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u014648682/article/details/106079867/

以上是关于Jmeter笔记——如何使用json提取器,提取json多层列表下指定字段所在层的其他数据(转)的主要内容,如果未能解决你的问题,请参考以下文章

JMeter笔记8 | JMeter关联

jmeter如何采用json提取器提取多个值

如何在没有 Jmeter 中的 foreach 控制器的情况下从数组中提取值(通过 JSON 提取器获得)

jmeter后置处理器--json提取器

jmeter 中使用json提取器

jmeter提取器的使用及说明