arrays - 比较 beanshell 中的 3 个数组并得到 1 个数组
问题描述
我正在尝试从下面提到的 json 数组中提取 id,其中 mfp 和 iwb 的 isExists=true。
[
{
"id": "fbe9ca5c-942b-48d8-9ffd-5f92ae64437a",
"connectedDevices": {
"mfp": {
"isExists": true
},
"iwb": {
"isExists": true
}
}
},
{
"id": "4f90ef0f-c317-47ea-9013-53729477c379",
"connectedDevices": {
"mfp": {
"isExists": true
},
"iwb": {
"isExists": true
}
}
},
{
"id": "98fe94ae-7e1b-42bb-8c2f-cae0f31105a0",
"connectedDevices": {
"mfp": {
"isExists": false
},
"iwb": {
"isExists": false
}
}
},
{
"id": "b3f8ed32-e273-41d8-8caf-2024feeccd8c",
"connectedDevices": {
"mfp": {
"isExists": false
},
"iwb": {
"isExists": true
}
}
}
]
使用 JSON Extractor 和 JSR223 PostProcessor 将值提取到数组中。
字符串[] ids ={“fbe9ca5c-942b-48d8-9ffd-5f92ae64437a”、“4f90ef0f-c317-47ea-9013-53729477c379”、“98fe94ae-7e1b-42bb-8c2f-cae0f31105a0”、“b3f8ed382-e-d7” -2024feeccd8c"}
String[] StatusM ={"true","true","false","false"}
String[] StatusI ={"true", "false", "false", "true"}
解决方案
目前尚不清楚“比较”是什么意思,但有一点很清楚:从 JMeter 3.1 开始,您应该使用 JSR223 测试元素和 Groovy 语言编写脚本。
原因在于:
- 与 Beanshell 相比,Groovy 的性能要好得多
- Groovy 支持所有现代 Java 功能,而 Beanshell 停留在Java 语言级别 5
Groovy在 Java SDK 之上添加了许多增强功能,例如在集合操作方面:
推荐阅读
- javascript - 如何在不使用 EVAL 的情况下处理两个数组对象
- python - 根据条件创建列表列表
- oracle - 如何创建单值序列?
- css - 是否有可靠的选择器可以根据样式选择元素?
- javascript - React Native:如何在渲染屏幕时或之前立即获取数据?
- android - 如何在android的时间线视图中添加多个视频的帧?
- android - 如何在android中读取数据形式的EditTextPreference
- android - Android中如何保证fragment过渡动画的绘制顺序?
- python - 保持优先顺序并根据 pandas 中的值提取值
- c# - 为什么使用 mstscax 连接远程桌面会延迟 60s