2015-08-28 1 views
0

J'ai un tableau JSON comme ceci:Comment puis-je vérifier un tableau JSON en utilisant RestFixture?

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

Je veux vérifier l'apparition de Host.LoginId == "abc". Si mon tableau était dans un ordre fixe, je pourrais vérifier avec jsonbody[0].Host.LoginId=="abc".

Cependant, mon tableau n'est pas dans un ordre particulier, donc je ne peux pas vérifier le premier élément. Comment puis-je vérifier une occurrence particulière n'importe où dans un tableau JSON?

Répondre

1

De GitHub:

RestFixture permet une cellule d'attente d'être interprété comme JavaScript si elle est précédée par /* javascript */. Il doit ensuite renvoyer une valeur qui peut être mappée sur true ou false. Toutefois, l'utilisation de l'instruction return génère une erreur.

Le code suivant fonctionne comme prévu:

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

Ceci est insérée dans son ensemble dans l'appareil:

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