Каратэ не поддерживает JSON Path - PullRequest
0 голосов
/ 26 марта 2019

У меня есть путь JSON, скажем $ [advertiserId], и это оценивается как

[
  "001E000000yBFskIAG"
]

с помощью инструмента https://jsonpath.com/?.

Однако эквивалентный синтаксис каратэ не работает:

И соответствующий ответ [*]. AdvertiserId == '001E000000yBFskIAG'

Он не распознает этот путь.

Если у меня есть JSON:

{
"advertiserId":"someID"
}

Тогда

И соответствующий ответ [*]. AdvertiserId == 'someID'

должно работать. Каратэ должно быть в состоянии поддерживать базовое соответствие JSON.

1 Ответ

0 голосов
/ 26 марта 2019

Каратэ более строго - если есть «подстановочный знак» JsonPath, например * или .. результат будет всегда массивом. Возможно, jsonpath.com для удобства преобразует массив из одного элемента в значение, но мы никогда этого не сделаем.

Работы ниже:

* def response = [{ advertiserId: '001E000000yBFskIAG' }]
* match response[*].advertiserId == ['001E000000yBFskIAG']
...