JSON使用案例--一次性解析比较大的json文件
来源:互联网 发布:淘宝卖的玛咖是真是假 编辑:程序博客网 时间:2024/05/16 15:51
目前在做数据交互的功能时,由于双方交互的格式为Json格式,生成的数据都存储在文本文件中,当数据量少的时候,对应的网上的教程很多。目前针对于数据量较大时,写的一个方法。
代码中使用到的jar包为gson-2.1.jar:http://download.csdn.net/detail/dong945221578/8621163
代码中使用到的json样例:
* 解析Json使用到的方法 * @author Steven * */public class JsonUtil { public static void main(String[] args) { try { String localFile="d:/2.txt"; StringBuffer stringbuffer =new StringBuffer(); String lineTxt = null; InputStreamReader read= new InputStreamReader( new FileInputStream(localFile),"UTF-8"); BufferedReader bufferedReader = new BufferedReader(read); while((lineTxt = bufferedReader.readLine()) != null){ stringbuffer.append(lineTxt); } JsonArray Jarray = AnalysisBigJson(stringbuffer.toString()); for(JsonElement obj : Jarray ){// System.out.println(obj); JSONObject jsonObject = JSONObject.fromObject(obj.toString()); JSONArray jsonArray_2 = JSONArray.fromObject(jsonObject.getString("reclist")); for(int i2 = 0;i2 < jsonArray_2.length();i2 ++){ JSONObject jsonObj_2 = jsonArray_2.getJSONObject(i2); System.out.println(jsonObject.getString("userId")); System.out.println(jsonObj_2.getString("contentId")); } } } catch (Exception e) { e.printStackTrace(); } } /** * 此方法用来解析比较大的json数据,效率还是不错的 测试60MB的文件 解析大概需要30秒 * @param content * @return 返回JsonArray list里面每个obj都是一个json对象 */ public static JsonArray AnalysisBigJson(String content){ JsonParser parser = new JsonParser(); JsonArray Jarray = parser.parse(SafeUtils.getString(content)).getAsJsonArray(); return Jarray; }}
0 0
- JSON使用案例--一次性解析比较大的json文件
- JSON 解析库的使用 :Gson 和 fast-json比较
- Json文件的解析
- Android 使用Gson解析json案例详解
- 使用Gson解析Json数据案例
- Android 使用Gson解析json案例详解
- Android 使用Gson解析json案例详解
- json使用案例以及几种解析json方式
- Json 解析 案例
- Json解析小案例
- Json解析案例
- json数据解析案例
- Android JSON解析库Gson和Fast-json的使用对比和图书列表小案例
- Android JSON解析库Gson和Fast-json的使用对比和图书列表小案例
- Android JSON解析库Gson和Fast-json的使用对比和图书列表小案例
- XML文件解析&操作&与JSON比较
- 使用python解析json文件
- 使用python解析json文件
- 选择排序法
- Django 问题收集
- HttpGet方式调用有道词典API实现单词查询功能
- Linux分区问题
- spring AOP 笔记
- JSON使用案例--一次性解析比较大的json文件
- Scheme中lambda表达式与函数指针小例
- Java遍历文件夹及图像缩放批处理
- hibernate配置文件hibernate.cfg.xml的详细解释
- mount 命令挂载共享到/mnt
- 黑马程序员_JavaSE学习总结第01天_Java概述
- Linux汇编教程01: 基本知识
- Underscore.js
- 利用代码修改layout_marginBottom的属性