Automated tests 空手道;json数组中对象内K:V对的计数

Automated tests 空手道;json数组中对象内K:V对的计数,automated-tests,karate,Automated Tests,Karate,为了在编写测试之前进行调试,我希望获得数组中一个对象中的key:value对数。 现在,我有这个: "items": [ { "id": "6b0051ad-721d-blah-blah-4dab9cf39ff4", "external_id": "blahvekmce", "filename": "foo-text_field-XYGLVU", "created_date": "2019-02-11T04:10:31Z", "l

为了在编写测试之前进行调试,我希望获得数组中一个对象中的key:value对数。
现在,我有这个:

"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//返回1

当我写下:
*打印响应。项[0]。长度
它不返回任何内容


有没有关于如何实现这一点的想法?

有多种方法,但这应该是可行的,另外,您还可以看到如何获得钥匙:

count = 0
for (var v in response.items[0]) {
  count = count + 1;
}
print(count)
* def keys = []
* eval karate.forEach(response.items[0], function(x){ keys.add(x) })
* def count = keys.length
* match count == 12

请参阅文档:

有多种方法,但这应该是可行的,此外,您还可以了解如何获取密钥:

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

请参阅文档:

如果您能在文档中添加进一步的解释以帮助读者,这将有助于读者(尤其是学习者)。只有代码的答案被认为是不礼貌的。如果你能给你的答案添加进一步的解释以帮助读者,这将有助于读者(尤其是学习者)。只有代码的答案被认为是不礼貌的。我如何将eval karate.forEach(response.items[0],function(x){keys.add(x)})拉到“后台”中,以便在其他场景中重复使用它?我如何将eval karate.forEach(response.items[0],function(x){keys.add(x)})拉到“后台”中这样我就可以在其他场景中重复使用它了?