Я пытаюсь разобрать файл Huuuge JSON и перевести его в CSV. Файл JSON содержит множество объектов, разделенных символом '' (пробел). Объекты даже не включены в список '[{...}, {...}]'
Вот тип объекта. В этом файле тысячи их подписчиков:
{ "Имя": "CMP1", "homepage_url": "http://google.fr","number_of_employees":0.0,"founded_year":0.0,"founded_month":0.0,"founded_day":0.0,"deadpooled_year":0.0,"total_money_raised":"5000"}
Посмотрите каждый символ и найдите объекты в JSON благодаря количеству '{' и '}'. Но это так медленно.
RandomAccessFile raf = new RandomAccessFile(JsonInputFilePath, "rw");
int now = 0;
int open =0;
int close = 0;
String currentNode = "";
long length = raf.length();
while(length > now) {
currentNode = currentNode + (char)raf.readByte();
raf.seek(now);
now++;
char currentChar = (char)raf.readByte();
if( currentChar == '{') {
open ++;
}
if( currentChar == '}') {
close = close +1;
if(close == open) {
open = 0;
close = 0;
JsonReader reader = new JsonReader(new StringReader(currentNode));
//process data with the Json reader -><-
}
}
}
Я хочу иметь возможность обрабатывать данные каждый раз, когда обнаруживается полный объект. Это для очень большого файла (150 месяцев). Поэтому читать все за один раз не вариант.