2016-09-21 12 views
1

В следующем (частичный) ответ JSON:Будьте уверены, путь не в состоянии получить доступ к элементу с номером в пути

{ 
     "costPrices": { 
     "3226186": [ 
      { 
      "fromDate": 1420066800000, 
      "toDate": null, 
      "product": { 

Я пытаюсь получить доступ к значению FromDate как это:

body("costPrices.3226186[0].fromDate", equalTo(1420066800000L)) 

Но когда дело доходит до номера в выражении пути, это не удается, есть ли какой-то путь вокруг этого?

java.lang.IllegalArgumentException: Недопустимое выражение JSON: Script1.groovy: 1: неожиданный маркер: 3226186 @ строка 1, столбец 40.

ответ

1

Ваш селектор некорректен. С остальным заверили в jsonPath, написание

"costPrices.3226186[0].fromDate" 

означает собрать все 3226186 свойства из объектов в массиве costPrices, а затем выберите первый.

В вашем случае, что вы хотите:

body("costPrices.3226186.fromDate[0]", equalTo(1420066800000L))