Java Groovy:美元符号后的非法字符串体字符;
我在我的Java Groovy:美元符号后的非法字符串体字符;,java,json,groovy,rest-assured,Java,Json,Groovy,Rest Assured,我在我的java项目中使用RestAssured框架,但是我从Groovy中得到了一个错误。我需要在我的json中找到一堆元素。我的json如下所示: [ { "city" : "LONDON", "car" : "myCar", "name" : "Jack", "familyName" : "Joe" } ] 下面是
java
项目中使用RestAssured
框架,但是我从Groovy
中得到了一个错误。我需要在我的json
中找到一堆元素。我的json如下所示:
[ {
"city" : "LONDON",
"car" : "myCar",
"name" : "Jack",
"familyName" : "Joe"
} ]
下面是我如何制作在json上搜索的键:
List<String> gfg = new ArrayList<>(List.of("$.[0].city", "$.[0].car", "$.[0].name", "$.[0].familyName"));
for (String path : jsonPaths) {
String key = "\"" + path + "\"";
Assert.assertTrue(rawRes.jsonPath().getString(key) != null);
}
双引号表示“Groovy字符串”,其中
$
具有含义。所以我会尝试这样的单引号:def gfg=['$[0].city','$[0].car','$[0].name','$[0].familyName']
@Jeff,它是java代码还是groovy:List gfg=…
?为什么json路径中有$
?我看不出restasured中支持它……根据doc:是使用XPath轻松从对象文档获取值的替代方法。从文档中获取对象时,它遵循Groovy语法。
Script1.groovy: 1: illegal string body character after dollar sign;
solution: either escape a literal dollar sign "\$5" or bracket the value expression "${5}" @ line 1, column 29.
restAssuredJsonRootObject."$.[0].endTimeLocal"