Jam*_*707 3 java generics serialization json date
我有一个表示问卷的对象结构,我需要序列化为 JSON。该结构的一类是 OpenQuestion,此类使用具有两个参数的泛型。当使用的类型之一是 Date 时,问题就开始了,日期序列化错误,如 long。
班级代码:
public class OpenQuestion <valueType,validationType> extends AbstractQuestion implements Serializable {
private valueType value;
private validationType minValue;
private validationType maxValue;
...
}
Run Code Online (Sandbox Code Playgroud)
如果散列映射总是使用日期,我看到了如何在散列映射中序列化日期,但在这种情况下,我使用带有字符串、整数或日期的类。
有什么想法可以解决吗?谢谢
您可以JsonTypeInfo为此添加注释。有两种使用方法:
第一个会使您的 JSON 变得丑陋,但只需要很少的额外代码,并且不会强迫您制作自定义序列化程序。后者更难,但会产生更清晰的 JSON。总体而言,问题部分在于您的一种类型未以 JSON (Date) 建模,因此您可能需要将其序列化为 JSON 文件中的整数或字符串类型。
前一个选项看起来有点像这样:
@JsonTypeInfo( use = Id.CLASS, include = As.WRAPPER_PROPERTY )
private valiationType minValue;
Run Code Online (Sandbox Code Playgroud)
这应该编码一个字符串值,例如:
{ __type = "java.lang.String", value = "Hello, World" }
Run Code Online (Sandbox Code Playgroud)
不保证准确,因为这主要来自记忆!
| 归档时间: |
|
| 查看次数: |
12944 次 |
| 最近记录: |