小编典典

用PHP处理大型JSON文件

json

我正在尝试处理较大的(可能多达200M)JSON文件。文件的结构基本上是对象数组。

因此,遵循以下原则:

[
  {"property":"value", "property2":"value2"},
  {"prop":"val"},
  ...
  {"foo":"bar"}
]

每个对象都具有任意属性,不必与数组中的其他对象共享它们(例如,具有相同的属性)。

我想对数组中的每个对象进行处理,并且由于文件可能很大,因此无法将整个文件内容都包含在内存中,无法解码JSON并遍历PHP数组。

因此,理想情况下,我想读取文件,为每个对象获取足够的信息并进行处理。如果存在类似的JSON库,则使用SAX类型的方法就可以了。

关于如何最好地解决此问题的任何建议?


阅读 303

收藏
2020-07-27

共1个答案

小编典典

我决定研究基于事件的解析器。尚未完成,当我发布令人满意的版本时,它将使用指向我工作的链接来编辑问题。

编辑:

我终于找到了我满意的解析器版本。在GitHub上可用:

https://github.com/kuma-giyomu/JSONParser

可能还有一些改进的余地,欢迎您提供反馈。

2020-07-27