首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Upickle:将可能是字符串或Int的属性作为字符串读取

Upickle:将可能是字符串或Int的属性作为字符串读取
EN

Stack Overflow用户
提问于 2019-04-03 06:14:15
回答 1查看 71关注 0票数 0

我有一个可以来自rest api的字符串或整数形式的字段,但当我读取它时,我总是希望将其作为字符串读取,即,如果它以整数形式出现,我希望对其执行toString

代码语言:javascript
复制
    case class ZoneList(
        someField: Int,
        targetField: String
    )

    object ZoneList {
      implicit val rw: ReadWriter[ZoneList] = macroRW
    }

targetField是关注http://www.lihaoyi.com/upickle/#CustomPicklers的有问题的领域,但我仍然认为我没有足够的句柄来启动一个自定义的pickler

编辑:

最终做了这个

代码语言:javascript
复制
implicit val anyToStringReader: Reader[Option[String]] =
    reader[ujson.Value].map[Option[String]] { j =>
      Try(j.toString()).toOption
    }

如果我只能选择targetField属性,我会更喜欢,但我的实际case类有很多字段,并且我认为我不能这样做,并且还可以使用默认宏。如果有人知道怎么告诉我

EN

回答 1

Stack Overflow用户

发布于 2019-04-03 07:59:36

由lihaoyi在upickle gitter中解决:

“如果你想挑选出这个属性,给它一个新的类型,它是选项字符串的包装器,并为该类型编写pickler。”

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55484295

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档