如何为使用@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;
}
答案 0 :(得分:2)
直接的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,它都可以按原样运行。