fastjson序列化和反序列化问题。:报错 -问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

fastjson序列化和反序列化问题。:报错

2020-06-07 20:53:06 286 1

@wenshao 你好,想跟你请教个问题:

序列化生成文本代码:

package com.client;

import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import com.alibaba.fastjson.JSONWriter;

public class FileTest {
	public static void main(String[] args) throws IOException {
		
		List<String> list = new ArrayList<String>();
		
		for(int i=0;i<1000*1000;i++){
			list.add(i+"");
		}
		
		String path = "c:\\fastJson\\Test.JSON";
		File file = new File(path);
		if(!file.exists()){
			file.getParentFile().mkdirs();
		}
		JSONWriter writer = new JSONWriter(new FileWriter(file));
		
		writer.startArray();
		writer.writeObject(list);
		writer.endArray();
		writer.close();
		
	}
}

反序列化读取文本代码:

package com.client;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.util.ArrayList;
import java.util.List;

import com.alibaba.fastjson.JSONReader;

public class ReaderTest {
	public static void main(String[] args) throws FileNotFoundException {
		String path = "c:\\fastJson\\Test.JSON";
		JSONReader reader = new JSONReader( new FileReader(new File(path)));
		
		List<String> list = new ArrayList<String>();
		
		reader.startArray();
		list = reader.readObject(List.class);
		reader.endArray();
		reader.close();
		
		for(int i=0;i<list.size();i++){
			System.out.println(list.get(i));
		}
	}
}

生成文档如图:

抛出异常代码:



被这个问题纠结了一天了。。。。。。

取消 提交回答
全部回答(1)
  • kun坤
    2020-06-07 20:53:15

    list = reader.readObject(List.class);这是不是该用list = reader.readObject(String.class);。我猜的,你试试######刚试过,任然不行。######

    程序一直抛下标越界异常,然后我就固定list的size大小,

    当list长度为1328时,生成文本后,再用JSONReader解析是不会抛出异常的,

    如图:

    当list长度为1329时,就会抛出异常

    如图:

    ######

    友情帮顶。


    ######谢谢。######问题在跟进中######谢谢温少。######

    问题已经修复了:

    http://code.alibabatech.com/mvn/snapshots/com/alibaba/fastjson/1.1.35-SNAPSHOT/

    请帮忙测试一下

    ######温少已经测试过,没有问题了,谢谢你。######

    将长度为100000000的list列表通过fastJson转换成文本:

    解析list文本通过fastJson:

    ######测试了下fastjson,集合大小为3610,集合里面对象有30个属性,fastjson 要4s,gson1秒
    0 0
相关问答

40

回答

[@徐雷frank][¥20]什么是JAVA的平台无关性

大河人家 2018-10-29 23:55:20 144747浏览量 回答数 40

162

回答

惊喜翻倍:免费ECS+免费环境配置~!(ECS免费体验6个月活动3月31日结束)

豆妹 2014-10-29 17:52:21 226191浏览量 回答数 162

8

回答

OceanBase 使用动画(持续更新)

mq4096 2019-02-20 17:16:36 337045浏览量 回答数 8

13

回答

[@饭娱咖啡][¥20]我想知道 Java 关于引用那一块的知识

心意乱 2018-10-31 18:44:12 142472浏览量 回答数 13

110

回答

OSS存储服务-客户端工具

newegg11 2012-05-17 15:37:18 295589浏览量 回答数 110

22

回答

爬虫数据管理【问答合集】

我是管理员 2018-08-10 16:37:41 147255浏览量 回答数 22

18

回答

阿里云开放端口权限

xcxx 2016-07-20 15:03:33 646826浏览量 回答数 18

31

回答

[@倚贤][¥20]刚学完html/css/js的新手学习servlet、jsp需要注意哪些问题?

弗洛伊德6 2018-10-27 21:52:43 146055浏览量 回答数 31

42

回答

【精品问答集锦】Python热门问题

小六码奴 2019-05-30 15:27:34 137068浏览量 回答数 42

10

回答

[@墨玖tao][¥20]为什么流式处理框架都是 java 写成的,JVM 是不是在流和批存在着特殊优势。还有分布式资源调度,感觉Mesos 的成长速度跟不上 Yarn。这是为什么?

管理贝贝 2018-10-23 13:18:03 136478浏览量 回答数 10
+关注
0
文章
13401
问答
问答排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载