Java 如何在jmeter中比较响应格式json的两个成功结果和同样适用的一个空结果

Java 如何在jmeter中比较响应格式json的两个成功结果和同样适用的一个空结果,java,json,jmeter,jmeter-plugins,Java,Json,Jmeter,Jmeter Plugins,我必须将两个json响应作为JMETER中的成功响应进行比较 例如,我将得到一个带有值的响应 [ { "id": 423082, "createdBy": 10000, "createdOn": "03/11/2016 12:04 PM" }, { "id": 423083, "createdBy": 10001, "createdOn": "06/11/2016 1

我必须将两个json响应作为JMETER中的成功响应进行比较

例如,我将得到一个带有值的响应

[
    {
        "id": 423082,
         "createdBy": 10000,
         "createdOn": "03/11/2016 12:04 PM"
    },
    {
         "id": 423083,
         "createdBy": 10001,
         "createdOn": "06/11/2016 12:04 PM"
    }
]
或者我将得到一个空的json
[]

对我来说,这两个都是成功的结果


如何将响应断言或JSON路径提取器中的这些结果作为成功的结果进行比较。

使用regex
\[(.*?\])
创建一个正则表达式提取器,并给出一些变量名,如
检查点
现在应用响应断言并传递
${checkpoint\u g0}
,因此,如果您的响应没有任何值,那么它将检查
[]
空json,否则它将比较整个响应

改进格式在返回数据的情况下,您希望的精度如何?因为最简单的解决方案类似于
\[(\{.*\})*\]
——检查它是否是一个包含0个或更多对象的JSON数组。但它可以像检查日期是否有效等一样花哨…嘿,它不起作用。我创建了一个正则表达式提取器,引用名为checkpoint,正则表达式为[(.*)],然后在响应断言中选择“contains”和模式来测试${checkpoint_g0}。但当我得到空的json[]时,它仍然不匹配。我甚至必须比较“createdBy”,这样即使json不是空的,其仍然有效的规则表达式也应该是[(.*),提供的响应不应该有任何新行,否则请在此共享您的确切响应我的响应是[]没有空格或新行。抱歉,它不起作用:(其他事情是否正确?响应断言等等。我对JMeter不熟悉。顺序重要吗?