我在java中有一个大对象,我希望将其作为JSON保存在文件中。
private String serializeToJson(T item) {
String json;
ObjectWriter ow = new ObjectMapper().writer().withDefaultPrettyPrinter();
try {
json = ow.writeValueAsString(item);
} catch (IOException e) {
e.printStackTrace();
json = "";
}
return json;
}
这是我的代码,我收到内存错误:
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
at java.util.Arrays.copyOfRange(Arrays.java:3664)
at java.lang.String.<init>(String.java:201)
at java.lang.StringBuilder.toString(StringBuilder.java:407)
at org.codehaus.jackson.util.TextBuffer.contentsAsString(TextBuffer.java:362)
at org.codehaus.jackson.io.SegmentedStringWriter.getAndClear(SegmentedStringWriter.java:100)
at org.codehaus.jackson.map.ObjectWriter.writeValueAsString(ObjectWriter.java:394)
at com.waze.routing.automation.io.string.JsonFileHandler.serializeToJson(JsonFileHandler.java:81)
at com.waze.routing.automation.io.string.JsonFileHandler.save(JsonFileHandler.java:44)
at com.waze.routing.automation.io.string.JsonFileHandler.saveBaseLine(JsonFileHandler.java:35)
我可以用什么方法将大对象保存为文件中的JSON?
我现在不想增加数据库的复杂性。
我曾想过使用@JsonIgnore
但有其他解析框架可以解决这个问题吗?