Fastjson如何处理超大JSON文本呢?

陈欣 fastjson 发布时间:2023-08-23 09:38:54 阅读数:5946 1
下文笔者讲述Fastjson处理超大文本的方法

序列化

超大JSON数组序列化
   JSON格式是一个巨大的JSON数组
     有很多元素
     则先调用startArray
    然后依次写入对象
       然后调用endArray
  JSONWriter writer = new JSONWriter(new FileWriter("/tmp/test.json"));
  writer.startArray();
  for (int i = 0; i < 1000 * 1000; ++i) {
        writer.writeValue(new VO());
  }
  writer.endArray();
  writer.close();

超大JSON对象序列化

  JSON格式是一个巨大的JSONObject
    有很多Key/Value对
    则先调用startObject
   然后挨个写入Key和Value
     然后调用endObject
  JSONWriter writer = new JSONWriter(new FileWriter("/tmp/test.json"));
  writer.startObject();
  for (int i = 0; i < 1000 * 1000; ++i) {
        writer.writeKey("x" + i);
        writer.writeValue(new VO());
  }
  writer.endObject();
  writer.close();

反序列化

  JSONReader reader = new JSONReader(new FileReader("/tmp/test.json"));
  reader.startArray();
  while(reader.hasNext()) {
        VO vo = reader.readObject(VO.class);
        // handle vo ...
  }
  reader.endArray();
  reader.close();
  JSONReader reader = new JSONReader(new FileReader("/tmp/test.json"));
  reader.startObject();
  while(reader.hasNext()) {
        String key = reader.readString();
        VO vo = reader.readObject(VO.class);
        // handle vo ...
  }
  reader.endObject();
  reader.close();
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/fastjson/2023/7271.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者