У меня есть несколько JSON, как показано ниже, который должен быть опустошен в объект, я использую Java 8 с JSONNODE & ObjectMapper Джексона. < /p>
{"id":null}
< /code>
, который должен быть опустошен в объект, который имеет поле, определяемое ниже. Я знаю, что это примитивный тип данных, поэтому не может быть нулевым, но это просто так, как это работает. < /P>
private long id;
< /code>
Я попробовал это < /p>
private final ObjectMapper objectMapper;
JsonNode rootNode = objectMapper.readTree( json );
final JsonNode dpe = dn.get( "someObject" );
final JsonNode id = dpe.path( "id" );
if ( id.isNull() || id.isMissingNode() ) {
( (ObjectNode) dpe )put( "id", NullNode.getInstance() );
} else {
( (ObjectNode) dpe ).put( "id", id.asLong() );
}
< /code>
также посмотрел на поведение по умолчанию, которое вы можете настроить, например, ниже, но не смог бы увидеть какие -либо подходящие варианты, чтобы сказать, содержит ли JSON NULL, сохраните его как нулевое и не меняйте. < /p>
this.objectMapper.configure( DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false );
< /code>
org.opentest4j.AssertionFailedError:
Expected :null
Actual :0
Подробнее здесь: https://stackoverflow.com/questions/797 ... itive-long
Десериализовать нулевое значение в примитивную длинную ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Как использовать примитивную коллекцию EF Core с перечислением и ICollection
?
Anonymous » » в форуме C# - 0 Ответы
- 14 Просмотры
-
Последнее сообщение Anonymous
-