Размер массива, используя помощью jsonpath выражение - Стефан Goessner помощью jsonpath

у меня проблема с выводом массива или размер списка с помощью помощью jsonpath Стефан Goessner по. Я использую версию json-path-2.0.0.

мое выражение jsonpath -$.orders.length и JSON выглядит примерно так:

{
  "orders" : [
    ...
  ]
}

его сбой со следующей ошибкой:

com.jayway.jsonpath.PathNotFoundException: Property ['length'] not found in path $['orders']

и я попробовал с $.orders.length() что опять не с ошибкой ниже:

com.jayway.jsonpath.PathNotFoundException: Property ['length()'] not found in path $['orders']

пожалуйста, предложите мне, как получить длина массива с использованием выражения jsonpath Goessner.

[EDIT] ниже показано, как я получаю конфигурацию:

    com.jayway.jsonpath.Configuration conf = com.jayway.jsonpath.Configuration.defaultConfiguration().addOptions(Option.DEFAULT_PATH_LEAF_TO_NULL);
    DocumentContext documentContext = JsonPath.using(conf).parse(orderJson);
    Object val = documentContext.read(jsonPathExpression);

1 ответов


Кажется, что поддержка возврата length() массива было только добавлена в версии 2.1.0 библиотеки jayway json-path.

на основе некоторых быстрых тестов,$.orders.length() выражение, похоже, работает как с версией 2.1.0, так и с версией 2.2.0, поэтому я думаю, что вам просто нужно обновить версию зависимости, чтобы исправить ошибку, которую вы видите.