java - 有效的jsonpath给出UnsupportedOperationException,CriteriaType无法解析
问题描述
这个 JsonPath
$.accounts[?('abc' in @.contact_ids)].user_id
在java中运行时出错:
com.jayway.jsonpath.InvalidPathException:java.lang.UnsupportedOperationException:CriteriaType 无法解析
但使用 jayway 实现在https://jsonpath.herokuapp.com/上完美运行。
异常跟踪:
at com.jayway.jsonpath.internal.PathCompiler.compile(PathCompiler.java:157)
at com.jayway.jsonpath.JsonPath.<init>(JsonPath.java:99)
at com.jayway.jsonpath.JsonPath.compile(JsonPath.java:426)
at com.jayway.jsonpath.internal.JsonReader.read(JsonReader.java:135)
Caused by: java.lang.UnsupportedOperationException: CriteriaType can not be parsed
at com.jayway.jsonpath.Criteria$CriteriaType.parse(Criteria.java:333)
at com.jayway.jsonpath.Criteria.create(Criteria.java:807)
at com.jayway.jsonpath.Criteria.parse(Criteria.java:755)
at com.jayway.jsonpath.Filter.parse(Filter.java:175)
at com.jayway.jsonpath.internal.PathCompiler$PathComponentAnalyzer.analyzeCriteriaSequence4(PathCompiler.java:284)
at com.jayway.jsonpath.internal.PathCompiler$PathComponentAnalyzer.analyze(PathCompiler.java:262)
at com.jayway.jsonpath.internal.PathCompiler$PathComponentAnalyzer.analyze(PathCompiler.java:236)
at com.jayway.jsonpath.internal.PathCompiler.compile(PathCompiler.java:145)
... 37 more
示例 json 是这样的,尽管错误与 json 无关:
{
"accounts": [
{
"user_id": "mail1@hotmail.com",
"contact_ids": [
"101",
"102",
"103",
"104",
"114",
"115",
"123"
]
},
{
"user_id": "mail2@hotmail.com",
"contact_ids": [
"135",
"156",
"159"
]
}]}
解决方案
请忽略。在我的项目中,我对 2.0 版有悬而未决的依赖。
推荐阅读
- java - 如何在 selenium 自动化测试期间模拟离线互联网连接,然后使用 BrowserMobProxy 再次打开它?
- spring-cloud-config - 我可以从 Hashicorp Vault 获取 Spring Cloud Config Server 的 encrypt.key 吗?
- amazon-web-services - 由于 aws-auth ConfigMap 问题,无法更新 EKS NodeGroup
- java - 你能强制一个函数不返回前一个堆栈,而只是在 Java Servlet 中发送重定向吗?
- javascript - 使用语言服务器查找范围内的所有函数
- reactjs - ReactJS - 在文件之间传递 useState 的替代方法
- firebase-authentication - 为什么我的 gmail 登录无法通过 firebase
- html - 有没有办法在使用 jQuery/HTML 的网站上捕获视频内容并将其保存到文件中
- elasticsearch - 远程异常转换失败
- javascript - 使用高速公路的 Python 上的 WAMP websocket 服务器连接错误