[英]JsonPath: find an element in an array by field
我有一個匿名對象數組,我想按特定字段查找對象。
我試過這個:
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] ,因為 david 位於第一個索引上。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.