java - 使用Jackson在java中序列化数组数组
问题描述
我正在学习如何使用 Jackson,我必须序列化一组 ContoCorrente 对象
public class ContoCorrente {
private String proprietario;
private ArrayList<MovimentoBancario> movimenti;
//methods...
}
其中 MovimentoBancario 定义为
public class MovimentoBancario {
private String data;
private String causale;
//methods...
}
我试过了
ArrayList<ContoCorrente> conti= new ArrayList<ContoCorrente>(50);
for(int i=0; i<50; i++){
//fill array
}
try {
ObjectMapper mapper = new ObjectMapper();
mapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false);
System.out.println(mapper.writeValueAsString(conti));
} catch (Exception e) {
e.printStackTrace();
}
但输出是
[{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{}]
我不知道我做错了什么,这是我第一次尝试序列化
解决方案
您可以尝试使用 Jackson 定义特定方法。
private static final ObjectMapper objectMapper = new ObjectMapper();
private static final ObjectReader reader = new ObjectMapper().readerFor(Array.class);
public static String toArray(ArrayList<ContoCorrente> array) throws JsonProcessingException {
return objectMapper.writeValueAsString(array);
}
然后,如果您想阅读,请使用阅读器。
推荐阅读
- javascript - 如何构造 if...else 语句以返回 true
- javascript - Angular/Javascript - 返回正确的数字 onKeyUp
- c# - 将字符串数组添加到 JObject
- java - 如何使用 Selenium WebDriver 和 Cucumber 在 Chrome 中正确打开本地文件?
- python - 使用 Django 作为 GUI 进行长时间运行的 python 进程
- python - 生成固定长度的随机数
- java - Android POST 连接超时
- powershell - 如何在静态 PowerShell 类中使用委托?
- php - 添加编辑删除表单不添加到 MySQL 没有错误
- graph - 向 Edge 添加属性会删除与 inV 的连接