我的JSON响应代码为
<script type="text/javascript" id="RequestScript">
var contextpath = 'https://example.com/';
var JSONObject = null;
var XMLString ='';
var pswitchprofiles = new Object();
pswitchprofiles.WLDATAObject =
{
: switchprofile:
: {
: : totalRows:5,
: : moreRows:false,
: : rows:
: : [
: : : {
: : : : id:'1f04b8c7788f47eaba507cd1f01bafd6',
: : : : ex:'N',
: : : : name:'Mahindra'
: : : },
: : : {
: : : : id:'a316419bf71f402cbc3a7af746d80626',
: : : : ex:'N',
: : : : name:'Toyota'
: : : },
: : : {
: : : : id:'1b8f642c00c6469cad1f73829d1b88df',
: : : : ex:'N',
: : : : name:'Renault'
: : : },
: : : {
: : : : id:'df989db921f84dfcac2fb1d4e72c18a3',
: : : : ex:'N',
: : : : name:'Huyndai'
: : : },
: : : {
: : : : id:'43B014C9BF0C1516E0530100007F2995',
: : : : ex:'N',
: : : : name:'Skoda'
: : : }
: : ]
: }
}
;
</script>
我正在尝试获取相应名称的ID。 在JSON PATH后处理器中,如果我在JSON路径表达式中给出$ .switchprofile.rows [?(@。name ==&#39; Renault&#39;)]。id,我无法获得正确的id。
请帮我搞定。此外,我不确定该响应是否实际上是JSON。 我正在使用jmeter 3.0
答案 0 :(得分:0)
您的回复不是JSON,因此您无法使用JSON Path PostProcessor,您需要切换到Regular Expression Extractor。
相关的正则表达式如下:
id:'(\w+)',\s.*,\s.*name:'Renault'
演示:
参考文献:
答案 1 :(得分:0)
当我使用带有表达式 id:'(\ w *)'的正则表达式extactor时,例如:'N',名称:'雷诺'我能够正确获取我的身份。
感谢@Dmitri的帮助。