放心 jsonpath findAll 没有按预期工作

我正在尝试在 java 上实现一种方法,确保找到查询 JSON 文件的值。为此,我使用 io.restassured.path.json.JsonPath 库中的 JSONPath 的 findAll 方法来访问所需的值。


出于某种未知原因,它从路径中获取所有值,而不是我指定的值


 System.out.println(restApi.getValueFromJson(filePath,"purchases.purchase.insuredItems.travelers.travelerPurchase.findAll{it.title = 'Frau'}"));




[{professionalRisk=Medium, firstName=Sh�ra, lastName=Y�ung, riskActivity=Recreational sports, dateOfBirth=1991-12-12, @id=2, title=Frau, individualTravelPrice={#text=20, @currency=EUR}, @role=INSURED}, {professionalRisk=Medium, firstName=Shashank, lastName=Tripathi, riskActivity=Recreational sports, dateOfBirth=1995-05-23, @id=3, title=Frau, individualTravelPrice={#text=100, @currency=EUR}, @role=INSURED}, {professionalRisk=Medium, firstName=J�hn, lastName=Y�nus, riskActivity=Recreational sports, dateOfBirth=2017-12-12, @id=4, title=Frau, individualTravelPrice={#text=258.15, @currency=EUR}, @role=INSURED}, {professionalRisk=Medium, firstName=S�m�el, lastName=Polo, riskActivity=Recreational sports, dateOfBirth=1940-05-10, @id=5, title=Frau, individualTravelPrice={#text=10072, @currency=EUR}, @role=INSURED}, {professionalRisk=Medium, firstName=Gli �ernch, lastName=Fedrick, riskActivity=Recreational sports, dateOfBirth=1930-12-12, @id=6, title=Frau, individualTravelPrice={#text=1000, @currency=EUR}, @role=INSURED}]

代替


[{professionalRisk=Medium, firstName=Sh�ra, lastName=Y�ung, riskActivity=Recreational sports, dateOfBirth=1991-12-12, @id=2, title=Frau, individualTravelPrice={#text=20, @currency=EUR}, @role=INSURED}]

显然,如果我这样做


System.out.println(restApi.getValueFromJson(filePath,"purchases.purchase.insuredItems.travelers.travelerPurchase.findAll{it.title = 'Frau'}.dateOfBirth"));

它需要


[1991-12-12, 1995-05-23, 2017-12-12, 1940-05-10, 1930-12-12]

代替


[1991-12-12]

我做错了什么?


一只名叫tom的猫
浏览 72回答 1
1回答

凤凰求蛊

发现了问题。我比较了“=”而不是“==”
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java