Fastjson API Stream使用说明

Fastjson API Stream

Fastjson当需要处理超大JSON文本时,需要Stream API,在fastjson-1.1.32版本中开始提供Stream API。

如何序列化

超大JSON数组序列化

如果你的JSON格式是一个巨大的JSON数组,有很多元素,则先调用startArray,然后挨个写入对象,然后调用endArray。

1JSONWriter writer = new JSONWriter(new FileWriter("/tmp/huge.json")); 2 writer.startArray(); 3 for (int i = 0; i < 1000 * 1000; ++i) { 4 writer.writeValue(new VO()); 5 } 6 writer.endArray(); 7 writer.close();

超大JSON对象序列化

1 如果你的JSON格式是一个巨大的JSONObject,有很多Key/Value对,则先调用startObject,然后挨个写入Key和Value,然后调用endObject 2 3 4JSONWriter writer = new JSONWriter(new FileWriter("/tmp/huge.json")); 5 writer.startObject(); 6 for (int i = 0; i < 1000 * 1000; ++i) { 7 writer.writeKey("x" + i); 8 writer.writeValue(new VO()); 9 } 10 writer.endObject(); 11 writer.close();

反序列化

1JSONReader reader = new JSONReader(new FileReader("/tmp/huge.json")); 2 reader.startArray(); //数组反序列化 3 reader.startObject();//对象反序列化 4 while(reader.hasNext()) { 5 VO vo = reader.readObject(VO.class); 6 // handle vo ... 7 } 8 reader.endArray(); 9 reader.close();

总结

Fastjson近期也爆出有安全漏洞,出现安全漏洞后阿里团队也第一时间对Fastjson的漏洞进行了修复,修复后不知道大家的项目是否有做升级。网上也有人提议说是废弃Fastjson了,用回原来的JackJson,本人觉得其实用那种没有确定的说是是好或坏,他仅仅只是一个工具类罢了,也不需要再去做比较。

如有问题,欢迎有问题及时交流。

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

java将前端的json数组字符串转换为列表

记录下在前端通过ajax提交了一个json数组的字符串,在后端如何转换为列表。前端数据转化与请求varcontracts{id:'1',name:'yanggb合同1'},{id:'2',name:'yanggb合同2'},{id:'3',name:'yang

2020年前端实用代码段,为你的工作保驾护航

有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )

FastJson、Jackson、Gson进行Java对象转换Json的细节处理

Java对象转换Json的细节处理前言Java对象在转json的时候,如果对象里面有属性值为null的话,那么在json序列化的时候要不要序列出来呢?对比以下json转换方式一、fastJson1、fastJson在转换java对象为json的时候,默认是不序列化nu