如何使用 RestFixture 检查 JSON 数组?

How can I check a JSON array using RestFixture?

我有一个这样的 JSON 数组:

[
    {
        "Id": 1,
        "Host": {
            "Id": 1,
            "LoginId": "abc"
        }
    },
    {
        "Id": 2,
        "Host": {
            "Id": 3,
            "LoginId": "def"
        }
    }
]

我想检查 Host.LoginId == "abc" 的出现。如果我的数组是固定顺序的,我可以用 jsonbody[0].Host.LoginId=="abc".

检查

但是,我的数组没有任何特定的顺序,所以我无法检查第一个元素。如何检查 JSON 数组中任何位置的特定事件?

来自GitHub

RestFixture 允许将预期单元格解释为 JavaScript,前提是它前面有 /* javascript */。然后它必须 return 一个可以映射到 truefalse 的值。但是,使用 return 语句会引发错误。

以下代码按预期工作:

/* javascript */ 
var found = false; 
for(var x in jsonbody){
    if (jsonbody[x].Host.LoginId=="abc") {
        found = true;
    } 
}
found;

这是作为一个整体插入夹具中的:

| GET | URL | 200 | Content-Type : application/json | /* javascript */ (etc) |