2017-02-16 20 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 значений): Некоторые (Вектор (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 значений являются идентификаторами сортировки. Я считаю, что это последовательность? Как вы повторяете и работаете с последовательностями ...? – Alichino

+1

Hi Alichino, Во-первых, findAll собирает все значения. Независимо от того, сколько значений есть. И, во-вторых, вы можете следовать «$ {abc (0)}, $ {abc (1)}, $ {abc (2)}, ...", чтобы последовательно передавать значения. Я думаю, вы нашли свой ответ. Cheers, Peekay – Praveen