我们刚刚开始使用2.2.0 jayway,它似乎与0.9.1有很多不同之处。
我试图通过返回errorName的值来获取此项:$.[?(@.errorId=='200')].errorName[0]
在0.9.1中工作。在2.2.0中它什么都不返回。如果我将其更改为$.[?(@.errorId=='200')].errorName
,我会收到带括号“[result]”的字符串,这对我不起作用。什么应该是jsonPath以返回值而不是数组?
答案 0 :(得分:0)
是的,jayway json的路径行为发生了变化。 现在,无论何时使用过滤器('?'),您都会收到一个java列表作为响应。 请参阅https://github.com/jayway/JsonPath#what-is-returned-when
中的“无限期路径”所以你必须在json路径结果上.get(0)
...