【问题标题】:How to parse big JSON files with PHP如何使用 PHP 解析大的 JSON 文件
【发布时间】:2018-07-24 04:51:31
【问题描述】:

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

我找到了承诺解析 JSON 文档的 salsify/jsonstreamingparser 库。但我只发现内存中的示例会产生与 json_decode 相同的错误。

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

【问题讨论】:

标签: php json


【解决方案1】:

取决于您使用的网络服务器或 php 版本。基本上可以设置 max-used-memory 和 max-used-script-execution-time 的值。

见:

PHP.NET - Limiting Ressources

PHP.NET - Limiting Execution-Time

IMO PHP 不是为这种 cpu 繁重的操作而设计的,我更愿意以更常见的方式使用它 - 只需使用 mysql、postgres ......所以在你的数据库。问题解决了:)

...希望如此。高频

【讨论】:

  • 我放弃了这个选项,因为文件的大小可能比我的网络服务器内存允许的大。
【解决方案2】:

如果您想对其进行迭代并且不要求将整个结构一次保存在内存中,请尝试https://github.com/halaxa/json-machine。它允许您简单地迭代任意大小/长度的 JSON只需使用 foreach

【讨论】:

  • 我希望这适用于所有大型 json 文件 :(
  • @ina,应该的。请在 Github 上的讨论中告诉我您的问题或提交问题。谢谢。
  • 我读到它不适用于包含大元素的大型 json 文件的问题,但我会尝试在那里发布 oto
猜你喜欢
  • 1970-01-01
  • 2019-10-02
相关资源
最近更新 更多