如何在Jmeter中解析JSON与不匹配Regex表达式的值?

时间:2012-10-09 15:48:08

标签: regex json jmeter

我在解析JSON响应时遇到问题。它基本上返回一个JSON对象数组,如

[
  {"id":"123","value":"abc","description":"something"},
  {"id":"456","value":null,"description":"something else"},
  {"id":"789","value":"def","description":"something more"}
]

当我使用以下正则表达式

"id":"(.+?)","value":(?!null),"description":"(.+?)"
正则表达式提取器中的

我得到以下结果:

variable[0][1]:123, variable[0][2]:something
variable[1][1]:456, variable[1][2]:something more

这是错误的,因为匹配必须在第二个对象中被破坏而没有获取第二个id并使用第三个对象的描述。我期待id为789而不是456。

1 个答案:

答案 0 :(得分:1)

我找到了自己的答案。如果

之类的单词之间有一个}括号,我需要打破匹配
"id":"(.+?)"[^\}]*"value":(?!null)[^\}]*"description":"(.+?)"

轻松修复:)