当前位置: 首页 > 知识库问答 >
问题:

使用ApacheJMeter从字符串响应中提取JSON

越安翔
2023-03-14

我正在使用ApacheJMeter发出HTTP请求。

响应格式如下:

HTTP/1.1 100继续

HTTP/1.1 200 OK x-powering-by: Express access-Control-low-source:*access-Control-low-method: HEAD, POST, PUT, GET, OPTIONS, DELETE access-Control-low-Headers: source, content-type, X-Auth-Token, Trenent-ID, Authoration content-type: Application/json; charset=utf-8 content-long: 24 etag: W/"18-8MkH0L5c1ZW7PPuEY1rZ3jKFme0"date: Thu,08 Apr2021 12:28:37GMT x-envoie-revering-service-time: 90 server:特使

{“id”:“548b23a3.4f6a4c”}

我需要一种方法将JSON id值提取到一个变量中,以发出另一个请求。

JSON提取器需要一个纯JSON格式作为响应,但在我的例子中,我需要从主体响应中跳过所有这些标题。

有什么想法我如何使用Apache JMeter制作它?

共有2个答案

彭高畅
2023-03-14

另一种干净的方法是使用JSON提取器(后处理器)。当返回复杂的json(多个嵌套对象)时,这非常有用。

更多细节在这里:https://octoperf.com/blog/2017/03/09/how-to-extract-data-from-json-response-using-jmeter/#jmeter-jsonpath-plugin

李昌勋
2023-03-14

如果您真的将所有这些作为响应体的一部分(然而对我来说它看起来像Headers),您应该始终能够回到没有任何限制的正则表达式提取器。

正则表达式示例:

"id"\s*:\s*"(.+?)"}

演示:

解释:

  • \s-空格的元字符

更多信息:

  • JMeter:正则表达式
  • 使用带有JMeter的正则表达式提取器
  • Perl5正则表达式备忘单
 类似资料:
  • 我使用的是ApacheJMeter5.3。我有一个HTTP请求,它返回JSON响应,如下所示: 有没有办法使用JSON提取器从“certificates”对象(本例中为4b89aa6c131)中提取第一个字段名?

  • 我在使用Spring RestTemplate时遇到了问题。 现在,我向一个restful服务发送一个PUT请求,该restful服务向我发回重要的信息作为响应。 问题(就像我前面说的)是上面的try/catch没有返回任何响应,但它给了我一个200的响应。 所以现在我问,会有什么问题?

  • 我有以下字符串 从上面,我需要提取下面的文字 第一个数字和文本之间总是有一个空格,所以2129和This is page1之间有一个空格。有时第一个数字被省略,就像2129不见了。文本和下一个数字之间总是有一个空格,所以在This is a Page1和6754001之间有一个空格,有时可能有两个空格。我只需要提取这些线这些线总是从空格开始,所以它可以 它们的后面总是有一个空格,有时是一个空格,有

  • 我有一个带有此endpoint的REST API: 响应的示例可以是:。 谢谢

  • 所谓字符串,指的就是字符的序列或者“串”。我们要在字符串上执行的第一个操作是提取所有字符中的一个。C++使用方括号([和])执行该操作: apstring fruit = "banana"; char letter = fruit[1]; cout << letter << endl; 表达式fruit[1]表明我们要从字符串变量fruit中取得编号为1的字符,并将结果保存在字符变量letter

  • 问题内容: 我想从包含数字和字母的字符串中提取数字: 我想在这里获取号码或任何其他号码。 问题答案: