我有一个大对象我想解析为json Jackson-mapper
。 它工作正常,直到对象变得太大。使用杰克逊映射器解析为json导致
我在mac上使用intellij。
代码:
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
:BL_generate FAILED
BUILD FAILED
Total time: 12 mins 14.491 secs
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)
I'm not sure how to split an object or to write it in parts (append to existing file)
我试图扩大堆空间,但它并没有帮助
task BL_generate(type: JavaExec) {
jvmArgs = ["-Xms1024m","-Xmx1024m"]
classpath sourceSets.main.runtimeClasspath
main = "com.m.BaselineGeneratorRunner"
}
但我不知道如何使用它在我的情况。流媒体如何帮助我处理一个大对象? (不是数组)。
为什么你使用旧版本的杰克逊? 'org.codehaus.jackson'移至最新版本并再次检查。 – igreen
什么是最新版本的命名空间? –
[search maven](http://search.maven.org/#search%7Cga%7C1%7Cg%3A%22com.fasterxml.jackson.core%22) – igreen