JSON响应中两个字段的正则表达式 - Jmeter

时间:2013-08-12 15:25:52

标签: regex json jmeter

假设我有这个JSON响应:

    [
     {
      "id": "15",
      "userId": "1",
      "new": "true",
      "date": "08/12/2013",
      "text": "…"
     },
     {
      "id": "16",
      "userId": "1",
      "new": "false",
      "date": "08/12/2013",
      "text": "…"
     }
    ]

每个对象的 id 的常规expresión提取器将具有以下配置:

    Reference name: object
    Regular Expression: "id":"(.+?)"
    Template: $1$
    Match No: -1
    Default value: null

我需要从每个对象中提取 id new ,以便在ForEach控制器中一起使用它们。我需要一些关于这种情况的正则表达式的帮助。

    Reference name: object
    Regular Expression: ¿? "id":"(.+?)" ¿? "new":"(.+?)" ¿?
    Template: $1$$2$
    Match No: -1
    Default value: null

另外,如何引用对象变量的每个特定部分? $ {object_1} $ {object_2}

编辑:抱歉,我忘了提及我特别使用Jmeter。

3 个答案:

答案 0 :(得分:2)

您可以设置:

enter image description here

enter image description here

然后使用ForEach控制器或者如果您只需要一些值,那么您将拥有:

  

ID_1 = 15

     

ID_2 = 16   ...   new_1 =真

     

new_2 =假   ...

索引是相关的。

否则你可以看一下:

答案 1 :(得分:0)

这是JSON。那么,为什么不把它解析为JSON呢 这种方式很简单。我使用了 org.json Java解析器。

String jsonData = "[\r\n" + 
        "        {\r\n" + 
        "         \"id\": \"15\",\r\n" + 
        "         \"userId\": \"1\",\r\n" + 
        "         \"new\": \"true\",\r\n" + 
        "         \"date\": \"08/12/2013\",\r\n" + 
        "         \"text\": \"…\"\r\n" + 
        "        },\r\n" + 
        "        {\r\n" + 
        "         \"id\": \"16\",\r\n" + 
        "         \"userId\": \"1\",\r\n" + 
        "         \"new\": \"false\",\r\n" + 
        "         \"date\": \"08/12/2013\",\r\n" + 
        "         \"text\": \"…\"\r\n" + 
        "        }\r\n" + 
        "       ]";

JSONArray jsonRoot = new JSONArray(jsonData);

for (int i = 0; i < jsonRoot.length(); i++) {
    JSONObject jsonObj = jsonRoot.getJSONObject(i);
    System.out.println("Object_" + (i+1) + " = id: " + jsonObj.getString("id") +
            ", new: " + jsonObj.getString("new"));

输出

Object_1 = id: 15, new: true
Object_2 = id: 16, new: false

答案 2 :(得分:0)

如果有帮助,我已为该主题创建了一个截屏视频。看看吧。

http://my.kpoint.com/kapsule/gcc-744b552e-c91e-4db2-9d39-37c6e66f22ac/t/jmeter-tutorial-json-array-extraction