【发布时间】:2020-11-19 15:41:16
【问题描述】:
更新:仔细查看我的其余代码,我在其他地方遇到了问题,这就是它无法正常工作的原因。谢谢
我想知道是否可以使用 json4 序列化程序来反序列化和使用泛型的对象。
我的 json 数据具有相似的特征,但某一部分的信息不同
例如,我有超级英雄,谁的技能不同
*Json 数据
{
"type": "Blue",
"name": "Aquaman",
"age": "4",
"skills": {
"Cooking": 9,
"Swimming": 4
}
}
{
"type": "Red",
"name": "Flash",
"age": "8",
"skills": {
"Speed": 9,
"Punctual": 10
}
}
所以我想做的是
case class Superhero[T](
`type`: String,
name: String,
age: Int,
skills: T
)
以及相应的技能案例类别
case class BlueSkill(
Cooking: Int,
Swimming: Int
)
case class RedSkill(
Speed: Int,
Punctual: Int
)
但是当我阅读并尝试将其映射到另一个对象时,我在数据框中得到null。
val bluePerson = read[Superhero[BlueSkill]](jsonBody)
所以想知道json4是否可以读取通用对象。
【问题讨论】:
-
注意:Json4s 是 vulnerable under DoS/DoW attacks!