我有一個場景,我需要從Node.js/Express RESTful API返回一個非常大的對象,轉換爲JSON字符串。Streaming/Piping JSON.stringify Node.js/Express中的輸出
res.end(JSON.stringify(obj));
但是,這看起來不是很好。具體來說,它在我的測試機器上工作良好,有1-2個客戶端連接,但我懷疑當許多客戶端同時請求大型JSON對象時,此操作可能會導致內存使用率降低。
我一直在尋找一個異步JSON庫,但the only one I found似乎有問題(具體來說,我得到一個[RangeError])。不僅如此,它還在一個大塊中返回字符串(例如,整個字符串調用一次回調,這意味着內存佔用不會減少)。
我真正想要的是JSON.stringify函數的完全異步管道/流式版本,因此它可以在數據直接打包到流中時寫入數據...因此可以節省我的內存佔用空間和以同步方式使用CPU。
創建了一個流,將對象作爲字符串寫入到蒸汽,最後只是管流水庫。 – wayne