接口测试 jmeter 接口测试通过返回 json 数据值正则取参

其实都没有 · November 13, 2018 · Last by 米酒 replied at November 19, 2018 · 3052 hits

json数据如下
[
{
"id":"5837f97816e69bd53c13af08",
"name":"精选",
"pinyin":"jing_xuan",
"navigationType":"JINGXUAN"
},
{
"id":"57f9bb3a1b14e4ed62aa359b",
"name":"视频",
"pinyin":"shi_pin",
"navigationType":"OTHER"
}
]
目前想通过方法2取值,以便后期维护
方法1:
"id":"(.+?)"
可取到id值
方法2:
"id":"(.+?)", "name":"精选",
无法取到id值

网上无案例,有高手解答吗,这种json数据很多

共收到 11 条回复 时间 点赞

用jsonpath提取,更方便些

配来配去,一点技术成长也没有。几行代码搞定的事情,就用代码搞定。

虽然我从来没有这么用过,直接写代码。

但是不排除某天这么用,看了一眼。解决方案如下:

  1. 正则表达式是这样的
"id":"([^\,\}]+)"

  1. 接口1返回结果作为接口2的参数

  2. 效果如下

3楼很清楚了

方法2取不到的原因是你忽略了换行

qianxing 回复

与"id":"(.+?)",意思一样

为什么不用JsonObject 直接取呢?

谢谢各位,问题已解决,引用了3楼的正则

而(.+?)实际是

hellomike 回复

谢谢,了解下都差不多哈

差不多,使用"id":"(.+?)"可以匹配出来答案,考虑json格式的通用性,我给出的正则表达式可以用于匹配{"a":1,"b":true}这样的结果,但是得修改一下正则表达式。

测试如下

需要 Sign In 后方可回复, 如果你还没有账号请点击这里 Sign Up