前言

在之前的文章《做一个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文件相关推荐

  1. 怎么接收layui上传的文件_layui 上传文件_批量导入数据UI的方法

    使用layui的文件上传组件,可以方便的弹出文件上传界面. 效果如下: 点击[批量导入]按钮调用js脚本importData(config)就可以实现数据上传到服务器. 脚本: /*** * 批量导入 ...

  2. java dom xml 换行,dom4j解析xml文件_用DOM解析XML文件,怎么才能让解析出来的文本不用换行_dom解析xml文件...

    网友求助:dom4j解析xml文件_用DOM解析XML文件,怎么才能让解析出来的文本不用换行_dom解析xml文件 问题importjava.text.SimpleDateFormat; import ...

  3. mysql导入dat文件_.dat导入数据库

    SQL Server中bcp命令的用法以及数据批量导入导出 0.参考文献: SQL Server BCP使用小结 bcp Utility 某社区600万用户数据导入MYSQL.MSSQL.Oracle ...

  4. mysql ajax excel文件_关于导入EXCEL和AJAX

    在一个项目当中,从顶部做到的底部,我了解到了关于以前一些不能理解的东西的合理解释.对于我们所处的这个项目,总体是基于.net和SQL开发的一种后 台管理模式.其中最为复杂的不是代码,而且流程的合理性, ...

  5. 怎么把录音导入库乐队_将音频和 MIDI 文件导入到 iPad 版库乐队

    将音频和 MIDI 文件导入到 iPad 版库乐队 您可以从电脑导入音频和 MIDI 文件,并将它们用在库乐队乐曲中.您可以:将音频文件添加到现有的录音机或放大器轨道 将 MIDI 文件添加到现有的键 ...

  6. flex 解析json文件_使用 Python 处理 JSON 格式的数据 | Linux 中国

    如果你不希望从头开始创造一种数据格式来存放数据,JSON 是一个很好的选择.如果你对 Python 有所了解,就更加事半功倍了.下面就来介绍一下如何使用 Python 处理 JSON 数据.-- Se ...

  7. python 解析pb文件_利用Python解析json文件

    写在前面 在金融风控领域,我们经常会使用到json格式的数据,例如运营商数据.第三方数据等.而这些数据往往不能直接作为结构化数据进行分析和建模.本文将介绍一种简单的.可复用性高的基于pandas的方法 ...

  8. wps解析json数据_浏览器处理2500MB JSON文件的解析与绘图问题(实践分享,非战斗人员请忽略)...

    最近在做一个浏览器画数据图的任务. 任务其实很简单,浏览器通过ajax请求拿到服务端已经生成好的json文件,然后在前端浏览器绘制相应的折线图,饼状图等. 很丑陋的dataflow 起初我的做法 le ...

  9. dump文件_零基础编程——Python文件、JSON数据存储

    摘要 书接前文: 01-<零基础编程--起步并搭建Python环境> 02-<零基础编程--变量与数据类型> 03-<零基础编程--Python循环.函数.类> 教 ...

最新文章

  1. PyTorch中文版官方教程来啦(附下载)
  2. 基于视觉和惯性传感器的移动机器人手遥操作系统
  3. 【全网最全的博客美化系列教程】06.推荐和反对炫酷样式的实现
  4. 5道Python函数练习
  5. Oracle备份时发现空间不够,存储空间比较紧张的情况下,如何提升Oracle备份的去重率?...
  6. 数据庞大繁杂,如何精简挖掘?
  7. 「offer来了」保姆级巩固你的js知识体系(4.0w字)
  8. vue 项目白屏解决方案
  9. CSS之Multi-columns的列数和列宽
  10. 训练集的识别率一直波动_机器学习验证集为什么不再有新意?
  11. Fedora 10初体验
  12. springmvc框架下的国内地区级联效果(共享一下给学习的小伙伴)
  13. mysql hint use force ignore_MySQL实时在线备份恢复方案
  14. RTT的IPC机制篇——邮箱
  15. Citrix XenDesktop 虚拟桌面 每用户/设备 许可手动释放
  16. img标签过滤加fs模块实现图片文件缓存
  17. 智能语音电话机器人源码部署
  18. spark之常见的机器学习算法
  19. 2013腾讯实习生面试经历
  20. python ip地址处理_Python学习笔记-IP地址处理模块Ipy

热门文章

  1. 8代cpu能跑linux,Intel公布6/7/8代桌面CPU打漏洞补丁性能结果:影响很小
  2. ot协议是什么_OT的完整形式是什么?
  3. 您如何从Python的stdin中读取信息?
  4. Java System类runFinalization()方法及示例
  5. python字典副本_如何复制字典并仅在Python中编辑副本?
  6. hive java udf_UDF_Hive教程_田守枝Java技术博客
  7. 半素数c语言,非常简单的c题目 不懂 紧急求助
  8. mysql的安装和基本命令_MySQL安装以及简单命令用法
  9. 距离传感器控制灯泡代码_生迪全彩智能 LED 灯泡体验评测
  10. java中创建窗口用的什么_JAVA 窗口的创建