我正在研究可访问API的cronhtml" target="_blank">脚本,可接收JSON文件(大量对象)并将其存储在本地。完成后,另一个脚本需要解析下载的JSON文件,并将每个对象插入MySQL数据库。
我目前正在使用file_get_contents()
和json_decode()
。这将尝试在尝试处理之前将整个文件读入内存。除了我的JSON文件通常在250MB-1GB
+之间的事实之外,这将很好。我知道我可以增加我的PHP内存限制,但这在我看来似乎并不是最大的答案。我知道我可以运行fopen()
并fgets()
逐行读取文件,但是我需要通过每个json对象读取文件。
有没有一种方法可以读取每个对象的文件,或者还有另一种类似的方法?
这实际上取决于json文件包含的内容。
如果不能将文件一枪打开到内存中,那么您唯一想到的另一个选择就是fopen / fgets。
可以逐行读取,并且如果这些json对象具有一致的结构,则可以轻松检测文件中的json对象何时开始和结束。
收集完整个对象后,将其插入数据库,然后继续下一个。
没什么更多的了。取决于您的数据源,检测json对象的开始和结束的算法可能会变得复杂,但是我之前使用复杂得多的结构(xml)进行了类似的操作,并且效果很好。
问题内容: 我正在创建一个Android应用程序,该应用程序应将Json从文件或URL解析为jsonarray和jsonobjects。问题是我的json是3.3 mb,当我使用一个简单的代码时,是这样的:(现在无法访问我的真实代码,因为我正在工作,从教程中复制了一些代码;因此其中可能有一些错误) (假设我已经有我的输入流内容) 当我在Android设备上运行此代码时,将字符串解析为jsonArr
我正在创建一个android应用程序,它应该解析一个Json从一个文件或url到一个json数组和json对象。问题是我的json是3.3mb,当我使用一个简单的代码时,就像这样:(不能访问我的真实代码,因为我在工作,从教程中复制了一些代码;所以可能会有一些错误) (假设我已经有了inputstream内容) 当我在android设备上运行这段代码时,在将字符串解析为jsonArray时,会出现O
问题内容: 我有一个文件,该文件以JSON形式存储许多JavaScript对象,我需要读取该文件,创建每个对象并对其进行处理(以我为例将其插入到db中)。JavaScript对象可以表示为以下格式: 格式A: 或 格式B: 请注意,表示很多JSON对象。我知道我可以将整个文件读入内存,然后像这样使用: 但是,该文件可能确实很大,我更喜欢使用流来完成此操作。我在流中看到的问题是,文件内容随时可能被分
我有一个文件,它以JSON形式存储了许多JavaScript对象,我需要读取该文件,创建每个对象,并对它们做一些事情(在我的例子中,将它们插入数据库)。JavaScript对象可以用一种格式表示: 格式A: 或格式B: 请注意,
我想使用Typescript解析/处理一个25 MB的JSON文件,并过滤/排序对象。。我写的代码花了几分钟(有时会超时),不确定为什么会发生这种情况,或者是否有其他方法可以提高代码的效率。 注意:代码在一个小文件上工作
问题内容: 我需要一个XML解析器来解析大约1.8 GB的文件。 因此,解析器不应将所有文件加载到内存中。 有什么建议? 问题答案: 除了推荐的SAX解析之外,您还可以使用JDK(包javax.xml.stream)中包含的StAX API(一种SAX演进)。 StAX项目主页:http://stax.codehaus.org/Home 简介:http : //www.xml.com/pub/a/