无效 JSON 表达式

Invalid JSON Expression

我正在使用非静态导入

JsonPath jp = response.jsonPath();
System.out.println(jp.get("data?(@.id>14).employee_name").toString());

对于JSON如下图:

{"status":"success","data":[{"id":"1","employee_name":"Tiger Nixon","employee_salary":"320800","employee_age":"61","profile_image":""},{"id":"2","employee_name":"Garrett Winters","employee_salary":"170750","employee_age":"63","profile_image":""}]}

当我尝试 运行 它时,出现以下错误:

    java.lang.IllegalArgumentException: Invalid JSON expression:
    Script1.groovy: 1: expecting EOF, found '[' @ line 1, column 31.
                                data[?(@.id>14)].employee_name
                                 ^

1 error

有人可以指导我为什么会抛出这个错误吗?

我怀疑那个语法是否正确,不过,你应该使用下面的

另请注意,您的回复中的 ID 是一个字符串,因此您必须将其包含在引号中

js.get("data.find {it.id > '14'}.employee_name").toString();