2017-08-16 4 views
1

J'ai un fichier de 15MB. Le contenu du fichier est au format Json. L'un des jetons Json est énorme. Sample:Ecriture d'un JSONToken énorme dans un fichier différent sans chargement dans la mémoire

{ 
    "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 dans l'échantillon est la liste des objets. Existe-t-il un moyen (en streaming préféré comme je ne veux pas charger les données en mémoire) pour diviser le fichier en plusieurs fichiers et chaque fichier contenant l'objet de la liste des objets de field4?

Répondre

0

Lors de mes recherches pour mon problème, je suis tombé sur Best way to handle huge fields with GSON JsonReader

J'ai utilisé ces fichiers de classe: EnhancedGson25JsonReader FieldSpy MethodSpy

Et utilisé ma logique personnalisée comme mentionné dans HugeJsonReaderDemo pour former la solution.