2012-06-25 10 views
2

Я пытаюсь создать сценарий JMeter для онлайн-заявки на страхование, которая создает заказы на ремонт для автомобильных претензий. Один из ответов на это приложение возвращает объект JSON, который имеет доступные временные интервалы и недоступен для резервирования ремонтных заданий. Ниже приведен пример JSON.Извлечение данных из ответа JSON в JMeter

{ 
    "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?

+0

, что именно вы хотите извлечь? что означает «первый свободный слот». Можете ли вы дать образец продукции? – ant

ответ

0

Хм, если вы пытаетесь найти только первый два числа вхождений вы можете использовать что-то вроде этого:

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

я отправил выражение на regexplanet, так что вы можете протестировать различные входные JSONs.

1

Более мощный, а также более сложный способ будет реализовывать обработку ответа JSON с использованием скриптов BeanShell (~ java) + любую библиотеку обработки json (json-rpc-1.0, например).

Посмотрите на ссылки ниже для деталей/образцов/код:

+0

Я хочу извлечь первый свободный слот так 7:45. Вывод образца в моем исходном сообщении, но здесь он снова ... {"7": {"45": 1, "30": 1}, "8": {"45": 1, "30": 1, "15": 1, "00": 1}, "9": { "45": 1, "30": 1, "15": 0, "00": 1}, "10": { "45": 1, "30": 1, "15": 1, "00": 1}}. – chucknor