Действительный jsonpath дает UnsupportedOperationException, CriteriaType не может быть проанализирован - PullRequest
0 голосов
/ 03 мая 2019

Это JsonPath

$.accounts[?('abc' in @.contact_ids)].user_id

выдает ошибку при запуске в Java:

com.jayway.jsonpath.InvalidPathException: java.lang.UnsupportedOperationException: CriteriaType не может быть проанализирован

, но отлично работает на https://jsonpath.herokuapp.com/ с использованием реализации jayway.

Трассировка исключения:

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"
      ]
    }]}

1 Ответ

0 голосов
/ 08 мая 2019

плз игнорируй. В моем проекте зависла зависимость от версии 2.0.

...