如何从以OK开头的非标准JSON响应中提取值14869
解决方法
方法一:使用正则表达式提取
由于响应开头的OK破坏了JSON结构,直接用JSON Extractor无效,可改用正则表达式提取器实现:
- 正则表达式:
^\OK\n\s*\[\s*\[\s*(\d+)(精准匹配最内层数组的第一个数字) - 或简化写法:
(\d+),\s*8708(利用目标值14869紧跟8708的特征,避免匹配其他无关数字) - 模板:
$1$ - 匹配数字:
1
方法二:预处理响应后用JSON Extractor提取
先通过处理器移除开头的OK和换行,将剩余内容转为合法JSON再提取:
- 添加JSR223 PostProcessor,写入以下代码:
def response = prev.getResponseDataAsString() def cleanJson = response.replaceFirst("^OK\n", "") vars.put("cleanedResponse", cleanJson)
- 添加JSON Extractor,设置:
- 变量名:例如
targetValue - JSON Path表达式:
$[0][0][0](对应最内层数组的第一个元素) - 来源:选择
Variable,输入cleanedResponse
- 变量名:例如
通过以上任意一种方法,即可成功提取到14869的值。
内容的提问来源于stack exchange,提问作者BhavinD.
相关产品推荐
相关产品推荐

