【发布时间】:2021-02-02 18:49:11
【问题描述】:
我正在尝试创建序列化和反序列化对象。我正在这样做:
var mapper = ObjectMapper()
var stringTest = mapper.writeValueAsString(stringContainsObjectFilter);
val raw: Any = mapper.readValue(stringTest, Any::class.java)
val filtersFromString = mapper.convertValue(raw, ObjectFilter::class.java)
val objectFilters = ObjectFilter()
quoteFilters.rosterLine= filtersFromString.rosterLine
quoteFilters.outOfPocketMax = filtersFromString.outOfPocketMax
quoteFilters.cost = filtersFromString.cost
这是我要序列化和反序列化的类
open class ObjectFilter{
var rosterLine: Map<RosterEnum, List<Int>>? = null
var outOfPocketMax: Map<String?, List<Int>>? = null
var monthlyCost: List<MonthlyCost>? = null
}
但我收到以下消息:
"Response[ObjectFilters]; could not unconvert attribute"
谁能帮帮我?我一直试图解决它没有结果:(
【问题讨论】:
-
你在哪一行得到这个错误?为什么在声明之前使用
objectFilters? -
另外,我同时看到了
ObjectFilter和ObjectFilters,这似乎很奇怪。 -
谢谢@MichaelPiefel,我在
mapper.convertvalue上遇到了错误,我改成了那个,我写了,正如你在我的回答中看到的那样。感谢您抽出宝贵时间阅读我的问题。 -
你可能想用
val mapper = ObjectMapper().registerKotlinModule()创建你的映射器 -
是的,这可能是一个解决方案,我会尝试。感谢您的帮助。
标签: kotlin serialization amazon-dynamodb deserialization mapper