【问题标题】:PHP - split JSON file (array) into multiple files [duplicate]PHP - 将JSON文件(数组)拆分为多个文件[重复]
【发布时间】:2019-01-06 20:08:49
【问题描述】:

我有一个包含对象数组的大 json 文件。文件太大 (15MB) 无法被 json_decode 解析。如何将这个数组文件拆分成多个数组文件?

数组包含对象,其中也可能包含对象。

【问题讨论】:

  • json_decode() 崩溃了吗?
  • 我为你找到了这个stackoverflow.com/questions/4049428/…
  • 超出内存限制。
  • @MaciejKrawczyk 增加 php.ini 中的内存限制?
  • PHP 限制做到了。我不想这样做,因为它不是一个独立于环境的解决方案,但我猜它会适用于我的情况。

标签: php arrays json file


【解决方案1】:

你可以尝试数组分块 -

$halved_array = array_chunk($original_array, ceil(count($original_array)/2));

【讨论】:

  • 如果我能拥有 $original_array 我会很成功,但 json_decode 会扼杀文本数据。
【解决方案2】:

您不能在任何时候在内存中没有整个字符串的情况下丢弃文件。您可能需要解决问题的根源(如果可以),而不是尝试处理它。 但是,您可以设置一个 cron,而不是仅将这个 JSON 文件放入多个 JSON 文件中。

【讨论】:

  • 我想应该有办法。如果我们可以逐个字符地向后解析文件。找到匹配的 [ 并在解析一定数量的数据后剪切部分并将其保存到另一个文件中。
  • 这根本不可靠,我强烈建议您在 JSON 扩展范围之外解析 json 文件。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-05-20
  • 1970-01-01
  • 2016-11-29
  • 1970-01-01
  • 1970-01-01
  • 2013-08-24
  • 1970-01-01
相关资源
最近更新 更多