Nối tiếp chuỗi mảng trong java bằng Jackson
Nov 05 2020
Tôi đang học cách sử dụng Jackson và tôi phải tuần tự hóa một mảng các đối tượng ContoCorrente
public class ContoCorrente {
private String proprietario;
private ArrayList<MovimentoBancario> movimenti;
//methods...
}
nơi MovimentoBancario được định nghĩa là
public class MovimentoBancario {
private String data;
private String causale;
//methods...
}
Tôi đã thử với
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();
}
nhưng đầu ra là
[{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{}]
Tôi không biết mình đang làm gì sai, đây là lần đầu tiên tôi thử tuần tự hóa
Trả lời
Sox- Nov 05 2020 at 17:24
Bạn có thể thử xác định một phương pháp cụ thể bằng cách sử dụng 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);
}
Sau đó, nếu bạn muốn đọc, chỉ cần sử dụng trình đọc.