java中,通过FastJson对海量数据的Json文件,边读取边解析

在处理大规模Json文件时,一次性加载全部数据到内存会导致资源消耗过大。本文介绍如何利用FastJson的JsonReader进行流式读取,通过startArray(), endArray(), startObject(), endObject()等方法顺序解析Json,降低内存和CPU负担,实现对海量数据的高效处理。" 111844090,10326440,使用HTTP操作HBase:REST API详解,"['HBase', 'REST API', '数据存储', 'NoSQL']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

当读取json文件的时候,如果json文件巨大,比如json文件中有900万条数据,大小有300多M,就不可以一次把数据都读到内存再解析。

第一内存受不了,第二CPU更受不了,所有的硬件和软件都受不了。

需要一种边读取,边解析的json操作类,FastJson可以实现这个功能,实测这个速度还真是比较快。

fastjson的下载地址:http://repo1.maven.org/maven2/com/alibaba/fastjson/

建议下载最新版本的fastjson


比如有下边一段json:

{
  "array": [
    1,
    2,
    3
  ],
  "arraylist": [
    {
      "a": "b",
      "c": "d",
      "e": "f"
    },
    {
      "a": "b",
      "c": "d",
      "e": "f"
    },
    {
      "a": "b",
      "c": "d",
      "e": "f"
    }
  ],
  "object": {
    "a": "b",
    "c": "d",
    "e": "f"
  },
  "string": "Hello World"
}
如果我们不一次性将其读到内存中进行解析,就要使用FastJson的JSONReader类,解析代码如下:


    /**
     * FastJson逐行解析json
     * @author drlyee
     * @date 2015-02-10
     */
    public void ReadWithFastJson()
    {
        String jsonString = "{\"array\":[1,2,3],\"arraylist\":
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值