我有一个可以来自rest api的字符串或整数形式的字段,但当我读取它时,我总是希望将其作为字符串读取,即,如果它以整数形式出现,我希望对其执行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属性,我会更喜欢,但我的实际case类有很多字段,并且我认为我不能这样做,并且还可以使用默认宏。如果有人知道怎么告诉我
发布于 2019-04-03 07:59:36
由lihaoyi在upickle gitter中解决:
“如果你想挑选出这个属性,给它一个新的类型,它是选项字符串的包装器,并为该类型编写pickler。”
https://stackoverflow.com/questions/55484295
复制相似问题