У меня есть простое приложение Java
, которое должно пройти через большой массив JSON
(около 20 тыс. Элементов), и в каждом массиве я анализирую подмассив.Каждый элемент выглядит следующим образом:
{"index":0,"f1":[2,16,16,16,16,16,32,16],"f2":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"startTime":0.0}
Я использую JSONPath
для перебора каждого элемента.Сначала я читаю длину и просто перебираю весь массив.Но это очень медленно (например, 1 элемент в секунду).
int length = JsonPath.read(response, "$.result.length()");
for (int i = 0; i < length; i++) {
double start_time = JsonPath.read(response, "$.result["+i+"].startTime");
ArrayList<Integer> f1= JsonPath.read(response, "$.result["+i+"].f1");
//...other things
}
Есть ли способ оптимизировать его?