Карта недвижимости Джексона ДЖСОНА распаковать

#java #json #kotlin

Вопрос:

У меня есть класс на java

 public class A {  @JsonProperty(required = true)  private Map<LocalDate, BigDecimal> dateToAmountMap; }  

который проходит через ResponseEntity<A> к приемнику kotlin, который делает что-то в этом направлении

 class Receiver {  ... // check if valid Serialization {}  val json = input.decodeJsonElement().jsonObject  ... // check if json.values.any is not null   // TODO: this is the part i dont know how to unpack the map from   // JSON to then 1) check if it is not null and then 2) use it:  // do i try to manipulate it as ?.jsonArray or ?.jsonObject ?  val dateToAmountMap = json["dateToAmountMap"]?.jsonArray }  

Я пытался что-то сделать в этом направлении

 dateToAmountMap.map { (key, value) -> LocalDate.parse(key) to value as BigDecimal }  

но это не сработает, если я схвачу .?jsonArray . Любое руководство для меня по исследованию / чтению документации очень приветствуется, так как я полностью потерян.

Ответ №1:

В Kotlin вы можете использовать com.fasterxml.jackson.databind.ObjectMapper для сериализации и десериализации объектов Json.

Для сериализации объекта вы можете использовать: ObjectMapper().writeValueAsString(объект)

Для десериализации объекта вы можете использовать: ObjectMapper().readValue(содержимое, YourClassDto::class.java)

Комментарии:

1. Спасибо! я попробую это сделать!