jackson.databind.JsonNode имеет (), возвращая true для пустых полей (когда это не должно)

Когда перебирать список JSONNODES, как так

 for(JsonNode result: results){
   if (predicate==Predicate.GREATER_THAN && result.has("JarVersion")){
        //gets in here even though 'JarVersion' is null
        if(result.get("JarVersion").textValue().compareTo(version) > 0)
          //fails here because nulls pass through

по какой-то причине, даже если result.get("JarVersion") возвращает null, он проходит проверку result.has().

Есть ли проблема с функцией has () этой библиотеки?

Я посмотрел на это и на интерфейсе все, что он делает, это results.get(fieldName) != nullТем не менее, есть много нулевых случаев, которые проходят (и ломаются) мой код

0 ответов

Другие вопросы по тегам