从tsung中的JSON响应中提取数组元素,数组是响应的根

时间:2016-10-20 05:09:37

标签: tsung

我正在使用tsung 1.6,我有一个配置文件,其中一个请求返回以下响应。

回应:

[
  { key: value1 },
  { key: value2 }
]

我的目标是从响应中提取一些变量项并进一步使用它们。具体而言,我想在动态变量中提取value1value2。以下是我正在做的事情

<request>
  <dyn_variable name="value1" jsonpath="$[0].key"/>
  <dyn_variable name="value2" jsonpath="$[1].key"/>

  <http url='/get.json' version='1.1' method='GET'></http>
</request>

<request subst="true">
  <http
    url='/patch/%%_value1%%'
    version='1.1' 
    contents='{&quot;notified&quot;:true}'
    content_type='application/json;charset=utf-8'
    method='PATCH'
  />
</request>

上面没有给我任何东西。

$[0]语法是我从this网站获取的内容。这在tsung文档中被引用,但是tsung也提到它实现了一个非常有限的jsonpath子集。

需要帮助提取以下数据。

谢谢

2 个答案:

答案 0 :(得分:2)

e.g。

test.json: [{ “一”:1},{ “B”:2}]

tsung.xml:

<request>
<dyn_variable name="Result" jsonpath="$.[0].a"/>
<http url='/test.json' version='1.1' method='GET'></http>
</request>

P.S。 test.json文件格式不是utf-8 bom

答案 1 :(得分:0)

如何提取数据的几个示例:

<dyn_variable name="id_1" jsonpath="$.content.id"/>

<dyn_variable name="id_2" jsonpath="$.content.[0].id"/>

<dyn_variable name="id_3" jsonpath="$.content.forms.array[?title=test].id"/>

查看更多示例: https://goessner.net/articles/JsonPath/index.html#e2

并实时检查: https://jsonpath.com/