Regex 如何在Jmeter中对与正则表达式不匹配的值解析JSON?
我在通过JSON响应解析时遇到问题。它基本上返回对象的JSON数组,例如Regex 如何在Jmeter中对与正则表达式不匹配的值解析JSON?,regex,json,jmeter,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":"(.+?)","valu
[
{"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。我找到了自己的答案。如果单词之间有一个}括号,比如
"id":"(.+?)"[^\}]*"value":(?!null)[^\}]*"description":"(.+?)"
轻松解决:)我找到了自己的答案。如果单词之间有一个}括号,比如
"id":"(.+?)"[^\}]*"value":(?!null)[^\}]*"description":"(.+?)"
容易解决:)