Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用正则表达式从json字符串中提取值_Json_Regex_Http_Jmeter_Jsr223 - Fatal编程技术网

使用正则表达式从json字符串中提取值

使用正则表达式从json字符串中提取值,json,regex,http,jmeter,jsr223,Json,Regex,Http,Jmeter,Jsr223,我从一个HTTP web请求得到以下响应。我想使用jmeter中的单个正则表达式提取器后处理器将ConnectionToken的值和ConnectionId的值保存在单独的变量中 有没有其他方法或选择 {"Url":"/Administration/signalr","ConnectionToken":"/75qb328dXVeojvZYoX34bkWCnji55Zp5+eGEMbas4q0+qdcLNwTRMGHjZVwXgKIgixUc0sxhF659A6ttgg3xPkGOXQquii1s

我从一个HTTP web请求得到以下响应。我想使用jmeter中的单个正则表达式提取器后处理器将ConnectionToken的值和ConnectionId的值保存在单独的变量中

有没有其他方法或选择

{"Url":"/Administration/signalr","ConnectionToken":"/75qb328dXVeojvZYoX34bkWCnji55Zp5+eGEMbas4q0+qdcLNwTRMGHjZVwXgKIgixUc0sxhF659A6ttgg3xPkGOXQquii1sOscozYeEaBpcMmVFPQkeKnxwTf2Yjp007gbag==","ConnectionId":"1dc235ed-6f1f-41eb-bdfd-d0b8625aead6","KeepAliveTimeout":4.0,"DisconnectTimeout":6.0,"ConnectionTimeout":110.0,"TryWebSockets":true,"ProtocolVersion":"1.5","TransportConnectTimeout":5.0,"LongPollDelay":0.0}

我不建议使用正则表达式从数据中提取值,因为数据结构良好,因此可以使用正则表达式更快、更可靠地进行分析,即允许通过查询获取“感兴趣”的值

在您的情况下,相关的JsonPath表达式将非常简单:

$.ConnectionToken
演示(假设“JsonPath测试仪”更多的侦听器)


您可以使用2个JSON提取器后处理器来实现这一点。将JSON提取器和后处理器添加为HTTP请求的子级

  • 要提取ConnectionID:请使用以下表达式
  • $.ConnectionId

  • 要提取ConnectionToken:请使用以下表达式
  • 康涅狄格州

  • 之后,您可以分别从变量
    ${ID}和${Token}
    访问ID和Token
  • 使用
    m/“ConnectionToken”:“(.*?”,/g