Я использую версию Jayway JsonPath 2.2 в JAVA. У меня мало вопросов по тому же поводу.JsonPath Fetch string after filter
Пример JSON:
{ "l5": [ { "type": "type1", "result": [ "res1" ] }, { "type": "type2", "result": [ "r1" ] } ] }
Я хочу, чтобы извлечь строку после фильтра применяется?
Например:
Path используется для извлечения строки является
l5[?(@.type == 'type2')].type
Ожидаемый результат:type2
(строка), но получение [ "типа2"] (массив)Исправьте путь, если я делаю что-нибудь неправильно использовать его как строку?
Невозможно проиндексировать результирующий массив после применения фильтра. Как я могу достичь того же?
Например:
Если я использую путь
l5[?(@.type == 'type2')][0]
, вместо возвращения мне первыйJSONObject
он возвращает[]
Можно ли извлечь подстроку из строки с помощью jsonPath?
Что-то вроде
l5[0].type[0,2] => res
Примечание: я не могу делать какие-либо операции в JAVA, так как я хотел, чтобы библиотека родовое?
Только если мы устанавливаем конфигурацию в ALWAYS_RETURN_LIST, она возвращает массив. В противном случае оно будет выдавать значение в соответствии с данными возврата. Например: если я даю путь 'l5 [0] .type', я получаю правильную строку ** type1 **. Но только в случае фильтров я не получаю. Также я не могу добавить дополнительный Java-код для достижения того же. –