json - 如何保存 JSON 对象并在另一个请求中使用它?
问题描述
我目前正在尝试设置一些 JMeter 测试计划。我对此很陌生(一周前开始),也没有太多的编程经验,所以我希望你能在这种情况下帮助我。
我已经设置了一些 http 请求并有一些简单的 JSON Extractor 后处理器来保存一些变量并将它们与“${variable}”符号一起使用。
但是现在我需要从响应中保存和修改一个对象,以便在下一个 http 请求中使用它。
我的响应是一个非常大的 JSON 对象,我感兴趣的部分看起来像这样:
{
"payload": {
"workspace": {
"resultInstance": [
[{"part": "1"...}],
[{"part": "2"...}],
...
[{"part": "20"...}]
]
}
}
}
请注意,无论出于何种原因,这些对象 {"part":"1"...} 都在嵌套数组中。而且它们也很大。
我想将这些对象保存在一个变量中,以便在我的下一个 http 请求中使用它们,如下所示:
{
"instanceChange": {
"functionChecks": [
{"part": "1"...},
{"part": "2"...},
...
{"part": "20"...}
]
}
}
所以我真正想要找到的是一种将所有可能的对象保存在嵌套数组“resultInstance”中并将它们放入非嵌套数组“functionChecks”中的方法。
我已经查看了 JMeter 文档,但由于我的编程背景不佳,我无法找到实现这一点的方法。
我想我需要类似 JSR223 PostProcessor 之类的东西,并且“只需通过 resultInstance-array 并使用 smth。就像这些上的 getObject()”,但我无法弄清楚我需要的代码,以及它是否可以保护变量中的对象在 Jmeter 中。
我非常感谢每一个帮助或建议:)。
提前致谢,
艾克森
解决方案
let response ={
"payload": {
"workspace": {
"resultInstance": [
[{"part": "1"...}],
[{"part": "2"...}],
...
[{"part": "20"...}]
]
}
}
};
let requestObj={
"instanceChange": {
"functionChecks": [
]
}
};
response.payload.workspace.resultInstance.forEach(myFunction);
myFunction(item, index) {
requestObj.instance.functionsCheck.push(item[0]);
}
推荐阅读
- sudo - Red Hat 7 NOPASSWD 用于特定脚本
- javascript - 如何导出类的命名实例?
- .net - 如何通过依赖注入添加多个接口实现而不一一添加
- ios - 如何从字符串中删除特殊字符 \u{e2}
- android - 在图书馆模块内清理房间数据库。Room 无法验证数据完整性
- mysql - MySQL 自连接引用另一个表
- javascript - 在 .map() 中返回 char.pop() 时的奇怪行为
- translation - 如何在尝试使用 ini 文件进行翻译时修复 dateTimePicker 上的 System.FormatException
- javascript - 每行具有唯一下拉组合的表格
- php - 添加一个复选框作为隐藏相关产品的 Woocommerce 管理产品选项