Android: анализ большого файла JSON

Я создаю приложение для Android, которое должно анализировать Json из файла или URL-адреса в jsonarray и jsonobjects. Проблема в том, что мой json составляет 3,3 МБ, и когда я использую простой код, что-то вроде этого: (не могу получить доступ к моему настоящему коду сейчас, потому что я на работе, скопировал некоторый код из учебника; поэтому в нем могут быть некоторые ошибки)

(при условии, что у меня уже есть мой входной поток контента)

InputStream content = entity.getContent();
                BufferedReader reader = new BufferedReader(new InputStreamReader(content));
                String line;
                while ((line = reader.readLine()) != null) {
                    builder.append(line);
String twitterfeed = builder.toString();
}

JSONArray jsonArray = new JSONArray(twittefeed);
            Log.i(ParseJSON.class.getName(),
                    "Number of entries " + jsonArray.length());
            for (int i = 0; i < jsonArray.length(); i++) {
                JSONObject jsonObject = jsonArray.getJSONObject(i);
                Log.i(ParseJSON.class.getName(), jsonObject.getString("text"));

Когда я запускаю этот код на моем устройстве Android, я получаю ошибку OutOfMemory при разборе строки в jsonArray. Я зарегистрировал некоторые вещи, которые я нашел, что моя общая строка составляет 17 МБ (из 3,3 МБ JSON-файла ?!). Когда я использую небольшой JSON-файл, такой как твиттер или около того, код работает нормально. Когда в моей памяти есть эта строка размером 17 Мб, я не могу разобрать JSON, потому что тогда у меня заканчивается память.

После долгих исследований я обнаружил, что Джексон может быть моим решением, потому что я понял, что можно анализировать входной поток. Это должно помочь, потому что мне не нужна строка 17 Мб в моей памяти; и это не самый эффективный способ, как я догадываюсь ... Но я не могу понять, что это действительно сработает, и не запустил его сам. Кто-нибудь знает об этом действительно будет работать, и где я могу найти учебник?

Я нашел& quot; createJsonParser - общедоступный JsonParser createJsonParser (InputStream in) & quot; и думаю, что это мой путь ... но я не знаю, как реализовать это в моем коде, и не могу найти пример. Кто-нибудь знает, как это работает?

Ответы на вопрос(2)

Ваш ответ на вопрос