问题描述
我尝试过:
jsonPath.get("$.[?(@.name == 'David')]")
但出现以下错误:
Invalid JSON expression:
Script1.groovy: 1: Unexpected input: ' $.[' @ line 1,column 29.
$.[?(@.name == 'David')]
^
1 error
我该如何解决?
json是:
[
{"name": "David"},{"name": "Ron"},{"name": "Dana"}
]
解决方法
问题有点模棱两可,但是语法不正确,Json path
语法使用Groovy's GPath
表示法
js.getString("find {it.name == 'David'}")
,
您可能需要
$.[?(@.name == 'David')]
=> $.data[?(@.name == 'David')]
$.response[?(@.name == 'David')]
$.body[?(@.name == 'David')]
...
名称取决于您提取回复的时间
,因为您正在使用json Array, 确实使用-$ [0], 因为大卫在第一个索引上。