【发布时间】:2013-11-12 20:06:40
【问题描述】:
我正在尝试使用读取器/组合器来解析包含混合数据类型的数组,但我不确定如何为这样的东西指定读取器。我有一些这样的 JSON:
{
"stuff": [1, 2, true, null, "false", "hahaha", 5, "8"]
}
我想将所有这些解析为字符串表示,但是当我尝试使用List[String] 的阅读器时,我得到了解析异常。我想像这样:
implicit val mixedArrayReader = (
(__ \ 'not).readNullable[List[JsValueWrapper]].map(opt => opt.map(list =>
list.map { wrapper : JsValueWrapper =>
val parsed : String = wrapper match {
case b : JsBoolean => if (b.value) "1" else "0"
case n : JsNumber => n.value.toString
case s : JsString => s.value
case JsNull => "null"
case u => u.toString // unknown
}
parsed
}
))
)
但是,由于JsValueWrapper 没有读者,我不知道从这里去哪里。非常感谢任何帮助。
谢谢!
【问题讨论】:
标签: json scala playframework playframework-2.2 playframework-json