Problem statement
I have a JSON of following format
{ "a":"b" , "Content" : <Content of file FILEA> , "x" : y" }
and so on.
FILEA is too big that i cant open and load it to main memory.
Is there any option where i can stream this json to a webservice without using much of main memory using Java.
Solution
So what i did was , i flicked a java file from gson , added features in it and then used it.
Code - https://github.com/Vineeth-Mohan/Scribblings/blob/master/JsonStreamWriter.java
usage -
writer = new JsonStreamWriter(new OutputStreamWriter(urlconnection.getOutputStream()));
writer.beginObject(); // {
writer.name("name").value("mkyong"); // "name" : "mkyong"
writer.name("age").value(29); // "age" : 29
writer.name("messages"); // "messages" :
writer.startStreamString();
writer.streamValue("Stream1"); // "msg 1"
writer.streamValue("Stream2"); // Keep on writing lines here from a file
writer.endStreamString();
writer.endObject(); // }
writer.close();