我如何为下面使用@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/