Размер массива, используя помощью 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, поэтому я думаю, что вам просто нужно обновить версию зависимости, чтобы исправить ошибку, которую вы видите.