【发布时间】:2019-08-24 08:11:52
【问题描述】:
我有一个字段可能来自一个字符串或整数,但当我阅读它时,我总是想将它作为一个字符串来读取,即如果它是一个整数,我想在它上面做一个 toString
case class ZoneList(
someField: Int,
targetField: String
)
object ZoneList {
implicit val rw: ReadWriter[ZoneList] = macroRW
}
targetField 是相关字段
看着http://www.lihaoyi.com/upickle/#CustomPicklers,但还是觉得我没有足够的句柄来启动自定义pickler
编辑:
最终这样做了
implicit val anyToStringReader: Reader[Option[String]] =
reader[ujson.Value].map[Option[String]] { j =>
Try(j.toString()).toOption
}
如果我可以只挑出 targetField 属性,但我的实际案例类有很多字段并且我认为我不能这样做并且还使用默认宏,那我会更喜欢。如果有人知道怎么做,请告诉我
【问题讨论】: