JMeter獲取正則表達式中的提取的所有關聯值的解決方法:
需求如下:
{ : "error_no":"0", : "results": : [ : : { : : : "total_earnings":"", : : : "num_page":"5", : : : "retrace_rate_thirty":"0.0061", : : : "day_yield_rankings":"", : : : "choose_success_rate":"0", : : : "state":"", : : : "week_yield_rankings":"", : : : "month_yield_rankings":"", : : : "act_id":"", : : : "last_week_yield_rankings":"", : : : "name":"lol", : : : "total_yield":"0.0532", : : : "total_rows":"277", : : : "user_id":"10150", : : : "day_earnings":"", : : : "face_image":"/userImage/10150.jpg", : : : "month_earnings":"", : : : "week_earnings":"", : : : "apply_state":"1", : : : "total_page":"56", : : : "account_id":"204", : : : "turnover_thirty_rate":"0.0941", : : : "strongHold":"平安銀行", : : : "month_yield":"-0.0048", : : : "total_yield_rankings":"1", : : : "account_name":"", : : : "week_yield":"0.0013", : : : "cur_page":"1", : : : "face_image_small":"/userImage/small/10150.jpg", : : : "day_yield":"-0.0001" : : }, : : { : : : "total_earnings":"", : : : "num_page":"5", : : : "retrace_rate_thirty":"0.0099", : : : "day_yield_rankings":"", : : : "choose_success_rate":"0", : : : "state":"", : : : "week_yield_rankings":"", : : : "month_yield_rankings":"", : : : "act_id":"", : : : "last_week_yield_rankings":"", : : : "name":"冒牌司令", : : : "total_yield":"0.0409", : : : "total_rows":"277", : : : "user_id":"10262", : : : "day_earnings":"", : : : "face_image":"/userImage/10262.jpg", : : : "month_earnings":"", : : : "week_earnings":"", : : : "apply_state":"1", : : : "total_page":"56", : : : "account_id":"671", : : : "turnover_thirty_rate":"0.9981", : : : "strongHold":"雙匯發展", : : : "month_yield":"0.0409", : : : "total_yield_rankings":"2", : : : "account_name":"", : : : "week_yield":"0.0341", : : : "cur_page":"1", : : : "face_image_small":"/userImage/small/10262.jpg", : : : "day_yield":"0.0008" : : }, : : { : : : "total_earnings":"", : : : "num_page":"5", : : : "retrace_rate_thirty":"0.0009", : : : "day_yield_rankings":"", : : : "choose_success_rate":"1", : : : "state":"", : : : "week_yield_rankings":"", : : : "month_yield_rankings":"", : : : "act_id":"", : : : "last_week_yield_rankings":"", : : : "name":"888", : : : "total_yield":"0.0359", : : : "total_rows":"277", : : : "user_id":"10130", : : : "day_earnings":"", : : : "face_image":"/userImage/10130.jpg", : : : "month_earnings":"", : : : "week_earnings":"", : : : "apply_state":"1", : : : "total_page":"56", : : : "account_id":"38", : : : "turnover_thirty_rate":"0.1873", : : : "strongHold":"平安銀行", : : : "month_yield":"0.0048", : : : "total_yield_rankings":"3", : : : "account_name":"", : : : "week_yield":"0.0004", : : : "cur_page":"1", : : : "face_image_small":"/userImage/small/10130.jpg", : : : "day_yield":"-0.0001" : : }, : : { : : : "total_earnings":"", : : : "num_page":"5", : : : "retrace_rate_thirty":"0.0027", : : : "day_yield_rankings":"", : : : "choose_success_rate":"0", : : : "state":"", : : : "week_yield_rankings":"", : : : "month_yield_rankings":"", : : : "act_id":"", : : : "last_week_yield_rankings":"", : : : "name":"13131313132", : : : "total_yield":"0.0152", : : : "total_rows":"277", : : : "user_id":"10133", : : : "day_earnings":"", : : : "face_image":"", : : : "month_earnings":"", : : : "week_earnings":"", : : : "apply_state":"1", : : : "total_page":"56", : : : "account_id":"55", : : : "turnover_thirty_rate":"0.03", : : : "strongHold":"江蘇吳中", : : : "month_yield":"0.0152", : : : "total_yield_rankings":"4", : : : "account_name":"", : : : "week_yield":"0.0002", : : : "cur_page":"1", : : : "face_image_small":"", : : : "day_yield":"-0.0002" : : }, : : { : : : "total_earnings":"", : : : "num_page":"5", : : : "retrace_rate_thirty":"0.0047", : : : "day_yield_rankings":"", : : : "choose_success_rate":"0", : : : "state":"", : : : "week_yield_rankings":"", : : : "month_yield_rankings":"", : : : "act_id":"", : : : "last_week_yield_rankings":"", : : : "name":"誰主沉浮", : : : "total_yield":"0.0129", : : : "total_rows":"277", : : : "user_id":"10256", : : : "day_earnings":"", : : : "face_image":"/userImage/10256.jpg", : : : "month_earnings":"", : : : "week_earnings":"", : : : "apply_state":"1", : : : "total_page":"56", : : : "account_id":"648", : : : "turnover_thirty_rate":"0.493", : : : "strongHold":"安潔科技", : : : "month_yield":"0.0129", : : : "total_yield_rankings":"5", : : : "account_name":"", : : : "week_yield":"-0.0076", : : : "cur_page":"1", : : : "face_image_small":"/userImage/small/10256.jpg", : : : "day_yield":"-0.0054" : : } : ], : "dsName": : [ : : "results" : ], : "error_info":"" }
現在需要將
name":"lol
name":"冒牌司令
name":"888
name":"13131313132
name":"誰主沉浮
name字段的值獲取,並輸出所有的值
通過查看結果樹,是看不到name的所有取值
通過添加后置處理器Debug PostProcessor查看提取的所有結果
可以發現,JMeter的正則表達式提取關聯值和lr一樣,對於有多個符合結果的,會將所有的結果值保存在一個數組里
既然現在看到提取結果是一個數組,那現在怎么將所有的結果拿出來使用呢?
通過邏輯控制器-ForEach控制器進行數組的循環操作,逐一打印出所有的關聯值
