JsonPath JUnit-Escape-Zeichen für Punkte

9

Ich habe ein JSON-Feld namens template.welcome.email und ich schreibe einen Komponententest, der prüft, ob dieses Feld in der Antwort vom Server vorhanden ist, aber ich kann kein Escape für die Punkte im Namen finden des Feldes. Der Code meines Tests ist:

%Vor%

Aber ich bekomme die folgende Ausnahme, weil die Punkte wie Pfade interpretiert werden:

%Vor%

Kennst du irgendein Escape-Zeichen für den jsonPath?

    
daniele 01.11.2013, 12:34
quelle

3 Antworten

6

Wie Ida gezeigt hat aus :

  

Verwenden Sie Klammern und Anführungszeichen in Ihrem Feld. Zum Beispiel, wenn Ihr Feld gültig ist.key.with.dot

     

Beziehen Sie sich auf ['valid.key.with.dot'] und versuchen Sie in JsonPath

     

JsonPath.read(jsonString, "$.['valid.key.with.dot']")

    
Roman Konoval 01.11.2013, 12:53
quelle
33

Verwenden Sie Klammern und Anführungszeichen in Ihrem Feld. Zum Beispiel, wenn Ihr Feld valid.key.with.dot

ist

Beziehen Sie sich auf ['valid.key.with.dot'] und versuchen Sie es in JsonPath mit

%Vor%

Siehe auch diesen Thread: Ссылка

    
Ida 07.03.2014 09:01
quelle
3

In diesen Tagen (z. B. io.rest-assured.json-path:3.0.1 ) scheint die Notation ohne Klammern zu sein:

%Vor%

Ich habe den entsprechenden Hinweis in diesem Git-Problem gefunden .

    
Michael Jess 15.11.2016 18:20
quelle

Tags und Links