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
Тем не менее, есть много нулевых случаев, которые проходят (и ломаются) мой код