2017-08-16 3 views
1

Ich habe eine Datei, die 15 MB groß ist. Der Inhalt der Datei ist im JSON-Format. Einer der Json Token ist riesig. Probe:Schreiben von riesigen JsonToken in eine andere Datei ohne Laden in den Speicher

{ 
    "field1": "value1", 
    "field2": "value2", 
    "field3": "value3", 
    "field4": [{ 
     "f1": "v1", 
     "f2": "v2", 
     "binaryContent": ".............." //huge data say 15MB 
    }, 
    { 
     "f1": "v1", 
     "f2": "v2", 
     "binaryContent": ".............." //huge data say 15MB 
    }, 
    { 
     "f1": "v1", 
     "f2": "v2", 
     "binaryContent": ".............." //huge data say 15MB 
    }] 
} 

Field4 in der Probe ist die Liste des Objekts. Gibt es eine Möglichkeit (bevorzugte Streaming-Möglichkeit, wie ich die Daten im Speicher nicht laden will), um die Datei in mehrere Dateien und jede Datei mit dem Objekt aus der Liste des Objekts von Feld4 zu teilen?

Antwort

0

Während für mein Problem untersucht, stieß ich auf Best way to handle huge fields with GSON JsonReader

ich diese Klassendateien verwendet: EnhancedGson25JsonReader FieldSpy MethodSpy

Und benutzte meine eigene Logik wie in HugeJsonReaderDemo erwähnt, die Lösung zu bilden.

Verwandte Themen