深入研究記憶體高效的 JSON 檔案載入
載入具有記憶體限制的大型 JSON 檔案可能會帶來挑戰。如果使用標準 json.load() 函數一次讀取整個文件,記憶體消耗可能會激增。幸運的是,有一些替代方案可以實現部分文件載入。
引入 ijson:用於 JSON 的 SAX 解析器
ijson 類似於 SAX for XML,允許使用者迭代解析JSON 檔案。這類似於文字檔案中的逐行迭代,解決了記憶體問題。
使用ijson 載入JSON 檔案的部分
利用ijson對於部分JSON 檔案加載,請按照以下步驟操作:
範例程式碼
這裡是使用ijson 解析JSON 檔案的範例:
<code class="python">import ijson for prefix, the_type, value in ijson.parse(open(json_file_name)): print(prefix, the_type, value)</code>
在此程式碼中,prefix 表示JSON樹中以點分隔的索引,the_type 表示類似SAX 的事件,value 包含物件的值或事件類型的None。
以上是如何在不消耗過多記憶體的情況下高效載入大型 JSON 檔案?的詳細內容。更多資訊請關注PHP中文網其他相關文章!