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 模型推理流程能够一般化.它输入视频,输出结构化数据,将结果给到业务系统去形成某些行业的解决方案. 换个角度,如果你想用摄像头来实现某些智能 ...
随机推荐
- Python String 方法详解
官网文档地址:https://docs.python.org/3/library/stdtypes.html#string-methods 官网 公号:软测小生ruancexiaosheng 文档里的 ...
- Java中九大内置对象
1.Request对象 该对象封装了用户提交的信息,通过调用该对象相应的方法可以获取封装的信息,即使用该对象可以获取用户提交的信息. 当Request对象获取客户提交的汉字字符时,会出现乱码问题 ...
- hdu1003 Max Sum【最大连续子序列之和】
题目链接:https://vjudge.net/problem/HDU-1003 题目大意:给出一段序列,求出最大连续子序列之和,以及给出这段子序列的起点和终点. 解题思路:最长连续子序列之和问题其实 ...
- java8 Optional正确使用姿势
Java 8 如何正确使用 Optional import lombok.Data; import lombok.EqualsAndHashCode; import lombok.ToString; ...
- nodejs那些事儿
http://www.nodeclass.com/ https://cnodejs.org/ 当前版本,v6.11.2 安装node时,牵扯features的选择,在不了解的情况下,我选择了第1个.网 ...
- c#textBox控件限制只允许输入数字及小数点
在textboxd的事件中的 KeyPress 事件,这样双击进入代码:输入以下代码 即可 //判断按键是不是要输入的类型. || () && ( && () e.Ha ...
- node模块包装为Promise书写法
1. const Promise = require('bluebird') const fs = Promise.promisifyAll(Promise.promisify(require('fs ...
- bootstrap中的对话框-dialog
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <meta name= ...
- python 发送邮件脚本
一.该脚本适合在 linux 中做邮件发送测试用,只需要填写好 发送账号和密码以及发送人即可,然后使用 python ./filename.py (当前目录下)即可.如果发送出错,会将错误详情抛出来 ...
- wampServer 安装 Redis 扩展
REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统. Redis是一个开源的使用ANSI C语言编写.遵守B ...