Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
杰克森JsonMappingException_Json_Scala - Fatal编程技术网

杰克森JsonMappingException

杰克森JsonMappingException,json,scala,Json,Scala,我尝试使用Jerkson将scala case类序列化为JSON字符串,如下所示: case class Page(title: String, id: String, ls: List[(String, String, Int)]) val pageList = new mutable.ArrayBuffer[Page]() val jsonString = Json.generate(pageList) pageList非常大,有几百万个Page对象。 调用失败,出现以下异常: 原因:or

我尝试使用Jerkson将scala case类序列化为JSON字符串,如下所示:

case class Page(title: String, id: String, ls: List[(String, String, Int)])
val pageList = new mutable.ArrayBuffer[Page]()
val jsonString = Json.generate(pageList)
pageList
非常大,有几百万个
Page
对象。 调用失败,出现以下异常:

原因:org.codehaus.jackson.map.JsonMappingException:
[java.lang.ArrayIndexOutOfBoundsException没有消息]


考虑到您有“数百万”个对象,我猜您可能达到了
String
的长度限制。尝试生成一个<代码> OuttoStudio,即,代码> JSON。生成(Palelista,out)< /C> > < /P> < P>您可能需要考虑使用流式解决方案。您可以使用Jackson流媒体API之一:

JsonGenerator jg = jsonFactory.createJsonGenerator(file, JsonEncoding.UTF8); // or Stream, Reader
或者,您可以使用令牌缓冲区(这在某些情况下被认为是最佳实践):

详情:

TokenBuffer buffer = new TokenBuffer();
// serialize object as JSON tokens (but don't serialize as JSON text!)
objectMapper.writeValue(buffer, myBean);