php导入json文件_[php]导入超大json文件
前言
在之前的文章《做一个twitter的插件玩玩》中,我做了一个批量删除推文(转发推文)的工具,该工具能够删除前3200条推文,但因为总数太多(4.3万条),api接口不支持获取所有的推文,所以我采用了下载的方式,直接下载了所有的推文。下载后需要导入到插件中,这样可以通过插件的功能进行对应的推文操作。
可以看到tweet.js还是挺大的,json这么大其实是很难处理的。数据虽然只有4万条,但解析起来是无力的。
寻找解决方案
最初的想法是自己写一个解析器,用一次就丢的那种,但是想想这样性价比太低了,以后要是又要用呢?所以就开始在gayhub上找。终于找到了一个大json解析方案:jsonstreamingparser,这是大json文件的解析,是异步的方式进行调用解析到的数据。但只是单条,通过重写listen能支持多条,当然这里已经有人写了:JsonCollectionParser
使用
数组解析的那个库需要支持的json格式,在readme.md中有介绍。
我这里主要是要用数组的方式来解析。请看下面的例子:public function myFunction(){
//从请求中获取文件信息。
if (!empty($_FILES)) {
$file = array_pop($_FILES);
if (0 == $file['error'] && is_uploaded_file($file['tmp_name'])) {
$path = $file['tmp_name'];
self::processFileAndUpdateTwitter($path);
} else {
$this->widget('Widget_Notice')->set(_t('json文件上传失败'), 'error');
}
}
}
private function processFileAndUpdateTwitter($path){
$util=$this;
$parser = new \JsonCollectionParser\Parser();
$parser->parse($path, function (array $json) use (&$util) {
//封装实体对象,落地到数据库中
if(!empty($json)){
$twitterIns=new class{};
$obj= (object)$json['tweet'];
$twitterIns->id_str=$obj->id_str;
$util->twitterHelp->addUserTimeLineTweetToDB($twitterIns);
}
});
}
php导入json文件_[php]导入超大json文件相关推荐
- 怎么接收layui上传的文件_layui 上传文件_批量导入数据UI的方法
使用layui的文件上传组件,可以方便的弹出文件上传界面. 效果如下: 点击[批量导入]按钮调用js脚本importData(config)就可以实现数据上传到服务器. 脚本: /*** * 批量导入 ...
- java dom xml 换行,dom4j解析xml文件_用DOM解析XML文件,怎么才能让解析出来的文本不用换行_dom解析xml文件...
网友求助:dom4j解析xml文件_用DOM解析XML文件,怎么才能让解析出来的文本不用换行_dom解析xml文件 问题importjava.text.SimpleDateFormat; import ...
- mysql导入dat文件_.dat导入数据库
SQL Server中bcp命令的用法以及数据批量导入导出 0.参考文献: SQL Server BCP使用小结 bcp Utility 某社区600万用户数据导入MYSQL.MSSQL.Oracle ...
- mysql ajax excel文件_关于导入EXCEL和AJAX
在一个项目当中,从顶部做到的底部,我了解到了关于以前一些不能理解的东西的合理解释.对于我们所处的这个项目,总体是基于.net和SQL开发的一种后 台管理模式.其中最为复杂的不是代码,而且流程的合理性, ...
- 怎么把录音导入库乐队_将音频和 MIDI 文件导入到 iPad 版库乐队
将音频和 MIDI 文件导入到 iPad 版库乐队 您可以从电脑导入音频和 MIDI 文件,并将它们用在库乐队乐曲中.您可以:将音频文件添加到现有的录音机或放大器轨道 将 MIDI 文件添加到现有的键 ...
- flex 解析json文件_使用 Python 处理 JSON 格式的数据 | Linux 中国
如果你不希望从头开始创造一种数据格式来存放数据,JSON 是一个很好的选择.如果你对 Python 有所了解,就更加事半功倍了.下面就来介绍一下如何使用 Python 处理 JSON 数据.-- Se ...
- python 解析pb文件_利用Python解析json文件
写在前面 在金融风控领域,我们经常会使用到json格式的数据,例如运营商数据.第三方数据等.而这些数据往往不能直接作为结构化数据进行分析和建模.本文将介绍一种简单的.可复用性高的基于pandas的方法 ...
- wps解析json数据_浏览器处理2500MB JSON文件的解析与绘图问题(实践分享,非战斗人员请忽略)...
最近在做一个浏览器画数据图的任务. 任务其实很简单,浏览器通过ajax请求拿到服务端已经生成好的json文件,然后在前端浏览器绘制相应的折线图,饼状图等. 很丑陋的dataflow 起初我的做法 le ...
- dump文件_零基础编程——Python文件、JSON数据存储
摘要 书接前文: 01-<零基础编程--起步并搭建Python环境> 02-<零基础编程--变量与数据类型> 03-<零基础编程--Python循环.函数.类> 教 ...
最新文章
- PyTorch中文版官方教程来啦(附下载)
- 基于视觉和惯性传感器的移动机器人手遥操作系统
- 【全网最全的博客美化系列教程】06.推荐和反对炫酷样式的实现
- 5道Python函数练习
- Oracle备份时发现空间不够,存储空间比较紧张的情况下,如何提升Oracle备份的去重率?...
- 数据庞大繁杂,如何精简挖掘?
- 「offer来了」保姆级巩固你的js知识体系(4.0w字)
- vue 项目白屏解决方案
- CSS之Multi-columns的列数和列宽
- 训练集的识别率一直波动_机器学习验证集为什么不再有新意?
- Fedora 10初体验
- springmvc框架下的国内地区级联效果(共享一下给学习的小伙伴)
- mysql hint use force ignore_MySQL实时在线备份恢复方案
- RTT的IPC机制篇——邮箱
- Citrix XenDesktop 虚拟桌面 每用户/设备 许可手动释放
- img标签过滤加fs模块实现图片文件缓存
- 智能语音电话机器人源码部署
- spark之常见的机器学习算法
- 2013腾讯实习生面试经历
- python ip地址处理_Python学习笔记-IP地址处理模块Ipy
热门文章
- 8代cpu能跑linux,Intel公布6/7/8代桌面CPU打漏洞补丁性能结果:影响很小
- ot协议是什么_OT的完整形式是什么?
- 您如何从Python的stdin中读取信息?
- Java System类runFinalization()方法及示例
- python字典副本_如何复制字典并仅在Python中编辑副本?
- hive java udf_UDF_Hive教程_田守枝Java技术博客
- 半素数c语言,非常简单的c题目 不懂 紧急求助
- mysql的安装和基本命令_MySQL安装以及简单命令用法
- 距离传感器控制灯泡代码_生迪全彩智能 LED 灯泡体验评测
- java中创建窗口用的什么_JAVA 窗口的创建