2017-02-16 93 views
2

如果我有这样的一个回应:加特林 - 从JSON阵列响应提取数据

{ 
    "A": 2, 
    "B": [ 
    { 
     "CCC": "abcde", 
     "DDD": { 
     "EEE": 11, 
     "FFF": 22 
     } 
    }, 
    { 
     "CCC": "fghij", 
     "DDD": { 
     "EEE": 111, 
     "FFF": 222 
    } 
    } 
    ] 
} 

如何才能得到所有值CCC列表或以其他方式?

如果我使用:

.check(jsonPath("$..CCC").saveAs("VARIABLE")) 

我只得到了第一个CCC( “ABCDE”)。通过CCC [*]执行此操作会引发错误。

回答

3

我想,你应该在检查语句中添加findAll。

例如:

.check(jsonPath("$..[*].CCC").findAll.saveAs("VARIABLE")) 

并请定义你的错误。

干杯, Peekay

+0

嗨,Peekay。我猜,这已经奏效了。我得到这个结果(5个值): 一些(Vector(8a7d477d-59a0-4920-ad10-8c1a7fd65c3b,af9efa88-a358-40b1-b206-c90555b6ff52,ba22986e-1b92-4dbf-b95f-1ed8b428d9e4,47b96be4-4e5c- 4afa-baa9-a4a118606c84,63abc057-8f0e-48ca-881d-c2308b1e4811)) 这5个值是排序的ID。 我相信这是一个序列?你如何迭代和处理序列...? – Alichino

+1

嗨Alichino, 首先,findAll收集所有值。无论有多少价值。 第二,您可以按照“$ {abc(0)},$ {abc(1)},$ {abc(2)},...”顺序传递值。 我想,你已经找到了你的答案。 干杯, Peekay – Praveen