Atitit 大json文件的结构化查看解决方案,高性能的jsonview attilax总结.docx
Atitit 大json文件的结构化查看解决方案,高性能的jsonview attilax总结.docx
1.2. 实现key与value类型的。。一直分析到非 jsonobject jsonarray位置。。1
1.3. 现存问题 fastjson使用string格式的内容,导致文件内容大小依然存在上限。。1
选型了很多jsonviewer,只能对小数据量的文件生效。。一旦涉及到9M左右的json文件,就都统统歇菜了。。
只好自己动手写jsonview 工具。。
D:\0workspace\atiplat_restapi\src\com\attilax\json\JsonViewBigFile.java
1.1. 实现目标:
过多的 array 只象征性的截取2个分析即可。。
抽取json骨架。。
1.2. 实现key与value类型的。。一直分析到非 jsonobject jsonarray位置。。
1.3. 现存问题 fastjson使用string格式的内容,导致文件内容大小依然存在上限。。
不过上限应该在 50M左右了。。
1.4. 效果


{
"code": "java.lang.String",
"msg": "java.lang.String",
"result": {
"deptMembers": [{
"deptId": "java.lang.String",
"displayName": "java.lang.String",
"duty": {
"dutyName": "java.lang.String"
},
"managerId": "java.lang.Integer",
"status": "java.lang.String",
"timestamp": "java.lang.Long",
"useId": "java.lang.String",
"user": {
"birthday": "java.lang.String",
"email": "java.lang.String",
"gesch": "java.lang.String",
"icnum": "java.lang.String",
"id": "java.lang.String",
"isOaUser": "java.lang.Integer",
"joinDate": "java.lang.String",
"nickname": "java.lang.String",
"orgeh": "java.lang.String",
"persk": "java.lang.String",
"perskTxt": "java.lang.String",
"phone": "java.lang.String",
"plans": "java.lang.String",
"plansTxt": "java.lang.String",
"portraitUri": "java.lang.String",
"region": "java.lang.String",
"tel": "java.lang.String",
"werks": "java.lang.String",
"workaddress": "java.lang.String",
"zhrjg": "java.lang.String",
"zwtype": "java.lang.String",
"zwtypeTxt": "java.lang.String"
}
}, {
"deptId": "java.lang.String",
"displayName": "java.lang.String",
"duty": {
"dutyName": "java.lang.String"
},
"managerId": "java.lang.Integer",
"status": "java.lang.String",
"timestamp": "java.lang.Long",
"useId": "java.lang.String",
"user": {
"birthday": "java.lang.String",
"email": "java.lang.String",
"gesch": "java.lang.String",
"icnum": "java.lang.String",
"id": "java.lang.String",
"isOaUser": "java.lang.Integer",
"joinDate": "java.lang.String",
"nickname": "java.lang.String",
"orgeh": "java.lang.String",
"persk": "java.lang.String",
"perskTxt": "java.lang.String",
"phone": "java.lang.String",
"plans": "java.lang.String",
"plansTxt": "java.lang.String",
"portraitUri": "java.lang.String",
"region": "java.lang.String",
"tel": "java.lang.String",
"werks": "java.lang.String",
"workaddress": "java.lang.String",
"zhrjg": "java.lang.String",
"zwtype": "java.lang.String",
"zwtypeTxt": "java.lang.String"
}
}
],
"depts": [{
"deptName": "java.lang.String",
"id": "java.lang.String",
"parentId": "java.lang.String",
"sort": "java.lang.Integer",
"status": "java.lang.String",
"timestamp": "java.lang.Long"
}, {
"deptName": "java.lang.String",
"id": "java.lang.String",
"parentId": "java.lang.String",
"sort": "java.lang.Integer",
"status": "java.lang.String",
"timestamp": "java.lang.Long"
}
],
"timestamp": "java.lang.Long"
}
}
1.5. 参考资料
Atitit 轻量级json查看器
Sublime3好像没有
Scite2.3 好些也没。
Notepad++ 默认也没。插件都找不到了 "JSON Viewer"选,,就在jstool里面了。。9M文件查看卡死。。
Jsonview独立的exe。。不行。9M查看会失败。。。小文件可以。。
Ff d Jsonview插件不行啊。卡的要死。。大文件不行。
三款Json查看小工具 - preftest - 博客园.html
作者:: 绰号:老哇的爪子claw of Eagle 偶像破坏者Iconoclast image-smasher
捕鸟王"Bird Catcher kok 虔诚者Pious 宗教信仰捍卫者 Defender Of the Faith. 卡拉卡拉红斗篷 Caracalla red cloak 万兽之王
简称:: Emir Attilax Akbar 埃米尔 阿提拉克斯 阿克巴
全名::Emir Attilax Akbar bin Mahmud bin attila bin Solomon bin adam Al Rapanui 埃米尔 阿提拉克斯 阿克巴 本 马哈茂德 本 阿提拉 本 所罗门 本亚当 阿尔 拉帕努伊
常用名:艾提拉(艾龙), EMAIL:1466519819@qq.com
头衔:uke总部o2o负责人,全球网格化项目创始人,
uke交友协会会长 uke捕猎协会会长 Emir Uke部落首席大酋长,
uke宗教与文化融合事务部部长, uke宗教改革委员会副主席
uke制度与重大会议委员会委员长,uke保安部首席大队长,uke制度检查委员会副会长,
uke 首席cto 软件部门总监 技术部副总监 研发部门总监主管 产品部副经理 项目部副经理 uke科技研究院院长uke软件培训大师
uke波利尼西亚区大区连锁负责人 汤加王国区域负责人 uke克尔格伦群岛区连锁负责人,莱恩群岛区连锁负责人,uke布维岛和南乔治亚和南桑威奇群岛大区连锁负责人
Uke软件标准化协会理事长理事长 Uke 数据库与存储标准化协会副会长
uke终身教育学校副校长 Uke医院 与医学院方面的创始人
uec学院校长, uecip图像处理机器视觉专业系主任 uke文档检索专业系主任
Uke图像处理与机器视觉学院首席院长
Uke 户外运动协会理事长 度假村首席大村长 uke出版社编辑总编
转载请注明来源:attilax的专栏 ?http://www.cnblogs.com/attilax/
--Atiend v8
Atitit 大json文件的结构化查看解决方案,高性能的jsonview attilax总结.docx的更多相关文章
- 在 Node.js 中处理大 JSON 文件
在 Node.js 中处理大 JSON 文件 场景描述 问题一: 假设现在有一个场景,有一个大的 JSON 文件,需要读取每一条数据经过处理之后输出到一个文件或生成报表数据,怎么能够流式的每次读取一条 ...
- 大数据时代的结构化存储--HBase
迄今,相信大家肯定听说过 HBase,但是对于 HBase 的了解可能仅仅是它是 Hadoop 生态圈重要的一员,是一个大数据相关的数据库技术. 今天我带你们一起领略一下 HBase 体系架构,看看它 ...
- 不知道多大的文件不要用cat查看!
今天长清女子学校的主任给我微信上发了一图片,说登录服务器的时候就查看了一个文件,结果服务器的风扇忽然变的特别响,系统慢了好多,让我看看是什么回事!我当时心里想,无缘无故怎么会这样,难不成是进病毒了?查 ...
- Golang Json文件解析为结构体工具-json2go
代码地址如下:http://www.demodashi.com/demo/14946.html 概述 json2go是一个基于Golang开发的轻量json文件解析.转换命令行工具,目前支持转换输出到 ...
- ElasticSearch 5学习(10)——结构化查询(包括新特性)
之前我们所有的查询都属于命令行查询,但是不利于复杂的查询,而且一般在项目开发中不使用命令行查询方式,只有在调试测试时使用简单命令行查询,但是,如果想要善用搜索,我们必须使用请求体查询(request ...
- Solr系列四:Solr(solrj 、索引API 、 结构化数据导入)
一.SolrJ介绍 1. SolrJ是什么? Solr提供的用于JAVA应用中访问solr服务API的客户端jar.在我们的应用中引入solrj: <dependency> <gro ...
- MySQL 5.7:非结构化数据存储的新选择
本文转载自:http://www.innomysql.net/article/23959.html (只作转载, 不代表本站和博主同意文中观点或证实文中信息) 工作10余年,没有一个版本能像MySQL ...
- [AI开发]零代码分析视频结构化类应用结构设计
视频结构化类应用涉及到的技术栈比较多,而且每种技术入门门槛都较高,比如视频接入存储.编解码.深度学习推理.rtmp流媒体等等.每个环节的水都非常深,单独拿出来可以写好几篇文章,如果没有个几年经验基本很 ...
- 视频结构化 AI 推理流程
「视频结构化」是一种 AI 落地的工程化实现,目的是把 AI 模型推理流程能够一般化.它输入视频,输出结构化数据,将结果给到业务系统去形成某些行业的解决方案. 换个角度,如果你想用摄像头来实现某些智能 ...
随机推荐
- HDU3306 Another kind of Fibonacci 矩阵
欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - HDU3306 题意概括 A0=1,A1=1,AN=X*AN-1+Y*AN-2(N>=2).求SN,SN ...
- java中如何不自己写排序方法完成排序
1.如果要排序的东西是放在一个数组里面的 1.1如果要排序的东西是基本数据类型,如int int[] c=new int[]{4,5,1,2,3,6,9}; Arrays.sort(c); Array ...
- Docker 配置固定IP及桥接的实现方法(转载)
这篇文章主要介绍了Docker 配置固定IP和桥接的实现方法的相关资料,这里详细介绍了Docker 的四种网络模式及如何实现桥接的案例,需要的朋友可以参考下 docker默认使用bridge模式,通过 ...
- 什么是mime类型
本文转自:什么是mime类型 - 方法数码 http://www.fangfa.net/webnews/390.html MIME 类型在网站开发中经常碰到,特别是处理非文本数据的请求时(如:文件上传 ...
- php null
null 表示一个变量没有值,并且不区分大小写 在下列情况下一个变量被认为是 NULL: 1.被赋值为 NULL. 2.尚未被赋值. 3.被 unset(). 判断是否为null : is_null ...
- grep搜索文本
正则匹配: grep -E "[a-z]+" 只输出匹配到的文本: echo this is a line. | grep -o -E "[a-z]+\." 统 ...
- UITableView滚动优化(RunLoop)
链接: 利用RunLoop优化tableView RunLoop方式优化加载tableview RunLoop总结:RunLoop的应用场景(三)滚动视图流畅性优化 TableView加载图片的优化逻 ...
- 网络编程(2)—UDP
1.UDP协议: 将数据.源.目的封装成数据包,不需要建立连接 每个数据包大小在64K一下 因无需建立连接,所以是不可靠的 发送完毕,无需释放资源,速度快 2.UDP编程步骤: 发送端: 1.创建发送 ...
- C#线程篇---Task(任务)和线程池不得不说的秘密
我们要知道的是,QueueUserWorkItem这个技术存在许多限制.其中最大的问题是没有一个内建的机制让你知道操作在什么时候完成,也没有一个机制在操作完成是获得一个返回值,这些问题使得我们都不敢启 ...
- strcpy和memcpy的差别
strcpy和memcpy都是标准C库函数.它们有以下的特点. strcpy提供了字符串的复制. 即strcpy仅仅用于字符串复制.而且它不仅复制字符串内容之外,还会复制字符串的结束符,strcpy_ ...