大佬您好,使用fastjson的时候发现一个问题,
$.adList[?(@.catIds.length>0)].length这个语法不支持。
具体信息如下:
fastjson版本:
1.2.60
jsonpath:
$.adList[?(@.catIds.length>0)].length
运行时报错:
com.alibaba.fastjson.JSONPathException: illeal jsonpath syntax. $.adList[?(@.catIds.length>0)].length
at com.alibaba.fastjson.JSONPath$JSONPathParser.readName(JSONPath.java:1584)
at com.alibaba.fastjson.JSONPath$JSONPathParser.readOp(JSONPath.java:1543)
at com.alibaba.fastjson.JSONPath$JSONPathParser.parseArrayAccessFilter(JSONPath.java:857)
at com.alibaba.fastjson.JSONPath$JSONPathParser.parseArrayAccess(JSONPath.java:786)
at com.alibaba.fastjson.JSONPath$JSONPathParser.readSegement(JSONPath.java:759)
at com.alibaba.fastjson.JSONPath$JSONPathParser.explain(JSONPath.java:1648)
at com.alibaba.fastjson.JSONPath.init(JSONPath.java:61)
at com.alibaba.fastjson.JSONPath.eval(JSONPath.java:71)
at com.alibaba.fastjson.JSONPath.eval(JSONPath.java:455)
2条答案
按热度按时间gab6jxml1#
目前api好像还不支持。顶多拿到
catIds
的value对象
进行有限处理。这些处理,如下:==``!=``<``>``<=``>=
等)=~``like
等)解析流程流程如下:
chhqkbe12#
@hulog 可以支持一下这种情况吗?jmeter,com.jayway.jsonpath都是支持的