2

我正在尝试为创建汽车索赔维修预订的在线保险应用程序创建 JMeter 脚本。对此应用程序的响应之一返回一个 JSON 对象,该对象具有可用和不可用于预订维修作业的时隙。下面是 JSON 的一个示例。

{
    "7": {
        "45": 1,
        "30": 1
    },
    "8": {
        "45": 1,
        "30": 0,
        "15": 1,
        "00": 0
    },
    "9": {
        "45": 1,
        "30": 1,
        "15": 1,
        "00": 1
    },
    "10": {
        "45": 0,
        "30": 1,
        "15": 1,
        "00": 1
    }
}

这显示了上午 7 点、上午 8 点、上午 9 点和上午 10 点的时间。对于时隙 7:45、7:30、7:00 等。对分钟时隙的 1 表示该时隙是空闲的。所以第一个空闲时段是 7:45。

如何使用正则表达式提取第一个空闲槽?

我想出了这个正则表达式来获取小时槽... "(\d{1})":{"\d{2}":1,但无法弄清楚如何准确地提取分钟槽。

我想知道使用 BSF 后处理器和一些 javascript 是否更容易做到这一点。不幸的是,我的脚本技能很差。

任何人都可以为我提供如何使用正则表达式或可能使用 BSF 后处理器提取此信息的任何帮助吗?

4

2 回答 2

1

更强大——也更复杂——的方式将是使用 BeanShell 脚本(~java)+任何 json 处理库(例如json-rpc-1.0)来实现 JSON 响应处理。

查看下面的链接以获取详细信息/示例/代码:

于 2012-07-11T15:48:21.930 回答
0

嗯,如果你想找到前两个数字出现,你可以使用这样的东西:

(\w+)(?:[\D]*)(\w*)

我在regexplanet上发布了表达式,以便您可以测试各种输入 JSON。

于 2012-06-25T20:25:39.993 回答