将频繁更改的JSON值映射到Scala中的相应元素

时间:2018-12-31 12:54:42

标签: scala lift-json

我有一个

之类的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

1 个答案:

答案 0 :(得分:1)

您必须编写一个自定义序列化程序,以根据“ valType”字段的内容来解析“ value”字段。

lift-json自述文件的Serializing non-supported types部分介绍了如何编写序列化程序。