使用 Citrus 框架提取 JSON 有效负载

Extract JSON Payload with Citrus Framework

我正在尝试使用 Citrus Framework 从 JSON 响应中获取一些信息,但我不确定 .extractFromPayload 方法是如何工作的。例如,我发出 GET 请求,JSON 响应是:

["as:s.7635a8e95e1b707d","as:s.c585a8e92874e4a9","as:s.8935a8e9848d14ce","as:s.f885a8ebb1887346","as:s.0123456789abcdef","as:s.7b55a8e96a74893d","as:s.b3f5a8d9b3971120","as:s.5f05a8e936ed377d","as:s.6f5d3e05670a4b448bf9ba81d1172307","as:s.de07ada3dd724347a26fdd93231491e2","as:s.f705a8ebaa3e9e74"]

所以问题是我怎样才能得到其中一把钥匙?如果我只需要字母数字部分,即 7635a8e95e1b707d,我该如何解析它?

非常感谢!

有效载荷是一个 JSON 字符串数组。您可以使用 JsonPath 表达式和 extractFromPayload 方法访问该数组中的值。使用 JsonPath 提取整个值作为测试变量后,您可以在第二个操作中使用像 citrus:substring()citrus:substringAfter() 这样的 Citrus 函数。

receive(someEndpoint)
    .extractFromPayload("$.[0]", "foo");

echo("citrus:substringAfter(${foo} ,'.')");