如何为下面使用 @JSONView 的 Java 代码段编写 Scala 等效代码。 我正在使用 Scala 和 Jackson 的 JSON。我有一个要求,在序列化期间,需要根据特定条件动态包含或排除某些字段。根据 Jackson 的 wiki,@JSONView 似乎是一个不错的选择 - 但我尚未成功获得 scala 等效项。
public class Employee {
public static class All { }
public static class View1 extends All { }
public static class View2 extends View1 { }
public static class View3 extends All { }
@JsonView(All.class)
public Long empid;
@JsonView(View1.class)
public String name;
@JsonView({View2.class, View3.class})
public String addr;
}
最佳答案
直接的 Scala 等价物看起来像这样:
object Employee
{
class All
class View1 extends All
class View2 extends View1
class View3 extends All
}
class Employee
{
import Employee._
@JsonView(Array(classOf[All]))
var empid: Long = _
@JsonView(Array(classOf[View1]))
var name: String = _
@JsonView(Array(classOf[View2], classOf[View3]))
var addr: String = _
}
此转换没有利用任何特定于 Scala 的 Jackson 支持;无论有或没有 Jackson Scala module 它都应该按原样工作已安装。
关于java - Jackson 的 @JSONView 的 Scala 等效代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21050307/