我正在尝试使用读取器/组合器来解析包含混合数据类型的数组,但我不确定如何为这样的东西指定读取器。我有一些这样的 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
,我不确定从这里去哪里。任何帮助是极大的赞赏。
谢谢!