2015-03-20 5 views
18

Wie der Titel andeutet, versuche ich in meiner Node.js-App ein großes JavaScript-Objekt mit JSON.stringify zu stringieren. Die Objekte sind - wiederum - riesig (Dutzende von Megabytes), sie enthalten keine Funktionen. Ich muss die serialisierten Objekte in eine Datei schreiben. Was ich bekomme ist jetzt das:JSON.stringify throws RangeError: Ungültige Stringlänge für riesige Objekte

RangeError: Invalid string length 
    at Object.stringify (native) 
    at stringifyResult (/my/file.js:123:45) -> line where I use JSON.stringify 

Irgendeine Idee, wie man dieses Problem löst?

+11

, die einfach das Universum sein kann, was darauf hindeutet, dass Sie Ihr Problem anders angehen. – Pointy

+4

Das heißt, wenn Sie die Datenstruktur für die Ausgabe vorbereiten, können Sie Ihren eigenen JSON-Serializer schreiben, der schrittweise in einen Ausgabestrom schreibt, anstatt eine einzelne massive Zeichenfolge zu erstellen. Es wäre nicht super einfach, aber es wäre auch nicht super-hart. – Pointy

+3

Ich denke, es gibt Streaming oder gepufferte JSON de/Serialisierer da draußen. –

Antwort