2017-02-17 3 views
0

Wie ValidatableResponseOptions.body documentation zeigt, können Sie ein JSON "analysieren", um zu prüfen, ob ein Wert (oder ähnlich) vorhanden ist.Parse JSON-Arrays mit ValidatableResponseOptions.body

meine JSON liiks wie folgt nun:

[ 
    { 
     "from_name": "Peter", 
    }, 
    { 
     "from_name": "Max" 
    } 
] 

Ich möchte, wenn es überprüfen Arrays mit dem from_name Peter sind. Ich habe versucht:

.body("[].from_email", equalTo("Peter")) 

Dies löst den Fehler Invalid JSON expression:Script1.groovy: 1: unexpected token: [ @ line 1, column 27. [].from_email ^1 error.

folgenden Versuch, auch nicht funktioniert:

.body("$..from_email", equalTo(shopEmailAddress)) 

oder

.body(".from_email", equalTo(shopEmailAddress)) 

Wie die korrekte Syntax dafür ist?

Antwort

0

Sie haben versucht, ein Array von json anstelle von json zu analysieren. Das sagt Ihnen der Fehler. Sie sollten das Array iterieren und jedes json unabhängig analysieren.

Sie können auch das Array streamen und nach dem ersten Fall suchen, der Ihr Prädikat bestätigt.