【问题标题】:Map frequently changing JSON value to corresponding element in Scala将频繁更改的 JSON 值映射到 Scala 中的相应元素
【发布时间】:2019-01-01 12:42:19
【问题描述】:

我有一个像

这样的 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,它工作正常。

但是在尝试使用 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 中解决相同的问题?

版本: 斯卡拉:2.11 提升json:2.6

【问题讨论】:

  • ObjectMapper 运行良好,但我想用 Lift-json 解决问题
  • 我不熟悉“Lift”,但是消息说你不能使用类型Any 来代替var value,因为这不会帮助库知道如何解析它。

标签: scala lift-json


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2011-11-01
    • 1970-01-01
    • 2018-01-13
    • 2014-03-29
    • 2012-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-02
    相关资源
    最近更新 更多