Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何用PHP解析大型JSON文件_Php_Json - Fatal编程技术网

如何用PHP解析大型JSON文件

如何用PHP解析大型JSON文件,php,json,Php,Json,我需要解析一个大的JSON文件(大约200MB)。使用json_解码,我得到一个内存错误 我发现了一个支持JSON文档解析器的库。但我只在内存中找到了产生json_解码相同错误的示例 有人知道如何解析大型JSON文件吗?这取决于您使用的Web服务器或php版本。基本上可以设置最大使用内存和最大使用脚本执行时间的值 见: IMO PHP不是为这种cpu密集型操作而设计的,我更愿意以更普通的方式使用它——只需使用mysql、postgres。。。因此,在数据库中以您喜欢的方式解析所有数据。问题已

我需要解析一个大的JSON文件(大约200MB)。使用json_解码,我得到一个内存错误

我发现了一个支持JSON文档解析器的库。但我只在内存中找到了产生json_解码相同错误的示例


有人知道如何解析大型JSON文件吗?

这取决于您使用的Web服务器或php版本。基本上可以设置最大使用内存和最大使用脚本执行时间的值

见:

IMO PHP不是为这种cpu密集型操作而设计的,我更愿意以更普通的方式使用它——只需使用mysql、postgres。。。因此,在数据库中以您喜欢的方式解析所有数据。问题已解决:)


。。。希望如此。HF

如果您想对其进行迭代,而不需要同时将整个结构存储在内存中,请尝试。它允许您只需使用
foreach

在解析前提高内存限制,在解析后立即降低内存限制,即可对任意大小/长度的JSON进行迭代。除非你设计了一个黑客程序,用C库解析文件,然后将其读入PHP。检查这个链接,你可能会得到一些帮助:增加内存限制不是一个选项。@prakashtank我不清楚这个库是如何工作的,然后看看salsify包中的类似的东西作为起点我讨论了这个选项,因为文件的大小可能超过我的Web服务器内存允许的大小。