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

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

当读取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"
}
  • 4
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
使用Fastjson解析JSON文件很简单,你可以按照以下步骤进行操作: 1. 导入Fastjson库 在Java代码导入Fastjson库,你可以在类的头部添加以下代码: ```java import com.alibaba.fastjson.*; ``` 2. 读取JSON文件 使用Java文件读取操作,读取JSON文件并存储为字符串。以下是一个简单的示例: ```java String jsonStr = new String(Files.readAllBytes(Paths.get("path/to/json/file.json"))); ``` 注意,你需要将文件路径替换为你的实际路径。 3. 解析JSON字符串 使用Fastjson的静态方法 `parseObject()` 解析JSON字符串,并将其转换为Java对象。以下是一个简单的示例: ```java JSONObject jsonObj = JSON.parseObject(jsonStr); ``` 注意,上面的示例假设JSON字符串表示一个JSON对象。如果JSON字符串表示一个JSON数组,你可以使用`parseArray()` 方法解析: ```java JSONArray jsonArray = JSON.parseArray(jsonStr); ``` 4. 获取JSON对象的值 一旦你将JSON字符串解析Java对象,你可以使用Java对象的方法或属性来获取对象的值。以下是一个简单的示例: ```java String name = jsonObj.getString("name"); int age = jsonObj.getIntValue("age"); ``` 注意,上面的示例假设JSON对象包含一个名为“name”的字符串属性和一个名为“age”的整数属性。 以上就是使用Fastjson解析JSON文件的基本步骤。你可以在Java代码使用其他Fastjson方法和属性,以便更方便地操作JSON数据
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值