Каратэ;Подсчет числа пар K: V внутри объекта в массиве json - PullRequest
0 голосов
/ 14 февраля 2019

В целях отладки перед написанием тестов я ищу количество пар ключ: значение в одном объекте в массиве.
Сейчас у меня есть это:

"items": [
   {
      "id": "6b0051ad-721d-blah-blah-4dab9cf39ff4",
      "external_id": "blahvekmce",
      "filename": "foo-text_field-XYGLVU",
      "created_date": "2019-02-11T04:10:31Z",
      "last_update_date": "2019-02-11T04:10:31Z",
      "file_upload_date": "2019-02-11T04:10:31Z",
      "deleted_date": null,
      "released_and_not_expired": true,
      "asset_properties": null,
      "file_properties": null,
      "thumbnails": null,
      "embeds": null
    }
  ]

Когда я пишу: * print response.items.length // returns 1

Когда я пишу: * print response.items[0].length ничего не возвращается

Есть мысли о том, как я могу подойти к этому?

Ответы [ 2 ]

0 голосов
/ 14 февраля 2019

Есть несколько способов, но это должно работать, плюс вы также видите, как получить ключи:

* def keys = []
* eval karate.forEach(response.items[0], function(x){ keys.add(x) })
* def count = keys.length
* match count == 12

См. Документы: https://github.com/intuit/karate#json-transforms

0 голосов
/ 14 февраля 2019
count = 0
for (var v in response.items[0]) {
  count = count + 1;
}
print(count)
...