【发布时间】:2020-11-20 12:42:58
【问题描述】:
如果我尝试序列化案例类:
case class C(map: Map[Boolean, String])
我得到了例外:
org.json4s.package$MappingException: Do not know how to serialize key of type class java.lang.Boolean. Consider implementing a CustomKeySerializer
我在任何地方都找不到任何关于我应该如何实现 CustomKeySerializer 的文档。有人可以指点我吗?
【问题讨论】:
-
我认为与问题相同的原因stackoverflow.com/questions/64914995/cannot-deserialize-a-tuple/…
boolean不能是 JSON 对象中的键,但在序列化C中它将是键:{ "map" : { true : "some_string", false : "antoher_one" } }但它是无效的。我建议不要使用Boolean作为序列化为 JSON 结构的键类型。 -
错误信息具有误导性。您没有实现 CustomKeySerializer,您只需创建新实例并将其添加到您的格式中。检查其构造函数签名。
-
你能创建minimal reproducible example吗?很难这样回答。