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 模型推理流程能够一般化.它输入视频,输出结构化数据,将结果给到业务系统去形成某些行业的解决方案. 换个角度,如果你想用摄像头来实现某些智能 ...
随机推荐
- BZOJ1036 [ZJOI2008]树的统计Count 树链剖分
欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - BZOJ1036 题意概括 一个树,每个节点有一个权值.3种操作. 1:修改某一个节点的权值. 2:询问某两个 ...
- work工作消息队列Round-robin与Fair dispatch
一:介绍 1.模型 有两种情形,分别是轮训分发与公平分发. 2.出现的场景 考虑到simple queue中的缺点. 因为生产者发送消息后,消费者消费要花费时间,这个会造成消息的堆积. 二:Round ...
- 写一个java死锁的demo
package com.simon.study; /** * 线程死锁 一个线程要同时拥有两个对象的资源才能进行下一步操作: * @author: Simon * @date: 2017年7月29日 ...
- 监听发现局域网dropbox客户端broadcast-dropbox-listener
监听发现局域网dropbox客户端broadcast-dropbox-listener Dropbox是一款网盘文件同步工具.为了实现局域网内同步,该工具会通过UDP 17500端口发送广播包.N ...
- 618大促微服务、web、redis等的超时时间
1. 最近因为大促原因线上服务不稳定,不稳定主要是redis经常超时并且数据为定时mGet方式获得 节点一多,所有服务节点同时获取数据访问量变大导致get取数据变慢因mGet会对数据进行锁住操作, 此 ...
- loj#2552. 「CTSC2018」假面
题目链接 loj#2552. 「CTSC2018」假面 题解 本题严谨的证明了我菜的本质 对于砍人的操作好做找龙哥就好了,blood很少,每次暴力维护一下 对于操作1 设\(a_i\)为第i个人存活的 ...
- Codeforces.528D.Fuzzy Search(FFT)
题目链接 \(Descripiton\) 给出文本串S和模式串T和k,S,T为DNA序列(只含\(A,T,G,C\)).对于S中的每个位置\(i\),只要\(s[i-k]\sim s[i+k]\)中有 ...
- Python获取系统音量
1,如果是windows下 试试这个python 模块winsoundhttp://docs.python.org/2/library/winsound.html这个也可以winmm调整windows ...
- 认证登录装饰器与form组件的使用
def auth(func): '''制作登录认证的装饰器''' def inner(request,*args,**kwargs): user_info=request.session.get(se ...
- java程序的种类有三种
Application―Java应用程序”是可以独立运行的Java程序.由Java解释器控制执行.Applet ―Java小程序”不能独立运行(嵌入到Web页中). 由Java兼容浏览器控制执行. ...