我有一个
之类的JSON值{
"valType": "Integer",
"data": 5
}
或
{
"valType": "Integer",
"data": [2, 3]
}
或
{
"valType": "String",
"data": "value1"
}
或
{
"valType": "String",
"data": ["string1", "string2"]
}
data 键的值正在更改。当我尝试使用
在Scala中映射它们时class value {
var valType: String = _
var data: Any = _
}
使用ObjectMapper可以正常工作。
但是,使用class尝试在lift-json中尝试
case class value(valType: String, data: Any) {}
,它抛出错误
Exception in thread "main" net.liftweb.json.MappingException: No usable value for data
No information known about type
如何在lift-json中解决相同问题?
Vesrion: 斯卡拉:2.11 Lift-json:2.6
答案 0 :(得分:1)
您必须编写一个自定义序列化程序,以根据“ valType”字段的内容来解析“ value”字段。
lift-json自述文件的Serializing non-supported types部分介绍了如何编写序列化程序。