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 模型推理流程能够一般化.它输入视频,输出结构化数据,将结果给到业务系统去形成某些行业的解决方案. 换个角度,如果你想用摄像头来实现某些智能 ...
随机推荐
- 《Android进阶之光》--多线程编程
No1: 实现多线程的3中方法 1)继承Thread,重写run()方法 2)实现Runnable接口,并实现该接口的run()方法 3)实现Callable接口,重写call()方法 public ...
- Ubuntu 初始配置
1)在修改source.list前,最好先备份一份 sudo cp /etc/apt/sources.list /etc/apt/sources.list_backu2. 2)执行命令打开sour ...
- android studio的汉化 教程 及解析
android studio的汉化 教程 及解析 作者:韩梦飞沙 Author:han_meng_fei_sha 邮箱:313134555@qq.com E-mail: 313134555 @qq.c ...
- 洛谷.3224.[HNOI2012]永无乡(Splay启发式合并)
题目链接 查找排名为k的数用平衡树 合并时用启发式合并,把size小的树上的所有节点插入到size大的树中,每个节点最多需要O(logn)时间 并查集维护连通关系即可 O(nlogn*insert t ...
- Redis集群官方推荐方案 Redis-Cluster
Redis-Cluster redis使用中遇到的瓶颈 我们日常在对于redis的使用中,经常会遇到一些问题 1.高可用问题,如何保证redis的持续高可用性. 2.容量问题,单实例redis内存无法 ...
- dos2unix详解
Linux命令之dos2unix - 将DOS格式文本文件转换成UNIX格式 dos2unix安装 首先说明dos2unix是将dos文本转换为unix文本,不是将gbk转换为utf8,跟文本的编码格 ...
- Matplotlib新手上路(下)
接上篇继续,这次来演示下如何做动画,以及加载图片 一.动画图 import numpy as np import matplotlib.pyplot as plt import matplotlib. ...
- J-Link GDB Server Command
J-Link GDB Server - SEGGER Hilden, Germany – September 15th, 2011 – SEGGER Microcontroller today ann ...
- EasyUI学习总结(五)——EasyUI组件使用
一.EasyUI组件的简单介绍 easyUI提供了很多组件让我们使用,如下图所示:
- android:单位和尺寸
为了要让程序拥有更好的屏幕适配能力,在指定控件和布局大小的时候 最好使用 match_parent 和 wrap_content,尽量避免将控件的宽和高设定一个固定值.不过在 有些情况下,仅仅使用 m ...