我在JSON中从服务器获得以下响应:
{
"global_id": 00001,
"name": "IMG_0747.JPG",
"time_taken": {
"segment_1_time": 1,
"segment_2_time": 1,
"segment_3_time": 27,
"segment_4_time": 1,
"segment_5_time": 16,
"segment_6_time": 20,
}
}
我想提取segment_1_time,segment_2_time,....,segment_6_time的值。为此,我在正则表达式提取器中使用以下值(仅适用于段1):
Reference Name: s1time
Regular Expression: "segment_1_time": (\d+)
Template: $1$
Match No: 1
Default Value: 0
我在 Bean Shell后处理器中编写了此脚本以获取segment_1_time的值,以便将其用于进一步处理:
String time_s1= vars.get("s1time");
log.info("Segment 1 time= "+time_s1);
出于某种原因,我总是在time_s1中得到NULL。我也尝试使用 var time_s1 而不是 String time_s1 ,但它也给出了null值。我哪里错了?
答案 0 :(得分:0)
正则表达式 - 不是parce JSON的好方法。 JSON Path extractor - 是一种简单的方法。阅读this文章(向下滚动到'解析JSON#39;标题)以了解如何操作
答案 1 :(得分:0)
请在正则表达式中进行以下更改以使其正常工作
正则表达式:.segment_1_time" :(。+?),
"如果你给出一个空格"正则表达式提取器不返回值。
希望这会有所帮助