#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. Спасибо! я попробую это сделать!