Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/390.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
Java 使用Citrus框架提取JSON负载_Java_Maven_Testng_Citrus Framework - Fatal编程技术网

Java 使用Citrus框架提取JSON负载

Java 使用Citrus框架提取JSON负载,java,maven,testng,citrus-framework,Java,Maven,Testng,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.7B55A8E96A7489D,as:s.b3f5a8d9b3971120,as:s

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

[as:s.7635a8e95e1b707d,as:s.c585a8e92874e4a9,as:s.8935a8e9848d14ce,as:s.f885a8ebb1887346,as:s.0123456789abcdef,as:s.7B55A8E96A7489D,as:s.b3f5a8d9b3971120,as:s.5f05a8e936ed377d,as:s.6F5D3E05670A4B44B4BFA29BA81307,as:s.DE07727E477D317D7D7D]

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


多谢各位

负载是字符串的JSON数组。您可以使用JsonPath表达式和extractFromPayload方法访问该数组中的值。在使用JsonPath将整个值提取为测试变量后,您可以在第二个操作中使用诸如Citrus:substring或Citrus:substringAfter之类的柑橘函数

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

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