php – 解析大的JSON文件

前端之家收集整理的这篇文章主要介绍了php – 解析大的JSON文件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
参见英文答案 > 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)完成了以前的工作,并且工作正常.

猜你在找的PHP相关文章