加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 解析大的JSON文件

发布时间:2020-12-13 13:58:52 所属栏目:PHP教程 来源:网络整理
导读:参见英文答案 Processing large JSON files in PHP5个 我正在使用一个cron脚本,它触发一个API,接收JSON文件(大量对象)并将其存储在本地.一旦完成,另一个脚本需要解析下载的JSON文件,并将每个对象插入到MySQL数据库中. 我正在使用一个file_get_contents()以及
参见英文答案 > Processing large JSON files in PHP5个
我正在使用一个cron脚本,它触发一个API,接收JSON文件(大量对象)并将其存储在本地.一旦完成,另一个脚本需要解析下载的JSON文件,并将每个对象插入到MySQL数据库中.

我正在使用一个file_get_contents()以及json_decode().在尝试处理之前,将尝试将整个文件读入内存.这是很好的,除了我的JSON文件通常在250MB-1GB的范围内.我知道我可以增加我的PHP内存限制,但这似乎不是我心中最大的答案.我知道我可以运行fopen()和fgets()逐行读取文件,但是我需要读取每个json对象的文件.

有没有办法读取每个对象的文件,还是有另一种类似的方法?

这真的取决于json文件包含什么.

如果将文件打开一个记忆不是一个选项,你唯一的其他选项,如你所说,是fopen / fgets.

逐行读取是可能的,如果这些json对象具有一致的结构,则可以轻松检测文件中的json对象何时启动,并结束.

收集整个对象后,将其插入数据库,然后转到下一个对象.

没有更多的东西.根据您的数据源,检测json对象的开始和结束的算法可能会变得复杂,但是我使用更复杂的结构(xml)完成了以前的工作,并且工作正常.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读