我有一个字段可能来自rest api,为String或Int,但是当我读取它时,我总是想将其读取为String,即,如果它作为Int来,我想对其进行toString
case class ZoneList(
someField: Int,
targetField: String
)
object ZoneList {
implicit val rw: ReadWriter[ZoneList] = macroRW
}
targetField
是有问题的字段
看着http://www.lihaoyi.com/upickle/#CustomPicklers,但仍然不认为我有足够的能力来启动自定义选择器
编辑:
最终这样做
implicit val anyToStringReader: Reader[Option[String]] =
reader[ujson.Value].map[Option[String]] { j =>
Try(j.toString()).toOption
}
如果我只能选择targetField属性,但是我的实际案例类有很多字段,并且我认为我不能这样做并且还利用默认宏,那将是首选。如果有人知道怎么让我知道
答案 0 :(得分:0)
由lihaoyi解决了在上部的臭味:
”“如果您想单选该属性,请为它添加一个新的类型,该类型将围绕“选项字符串”进行包装,并为该类型编写您的选择器。”