2015-08-31 9 views
2

Это мой первый вопрос, я надеюсь, что я не сделал ни одной ошибки ..Android: поток большого массива JSON, полученный из AsyncHttpClient loopj в

Я получил неприятный длинный массив JSON из из возвращающегося значения «OnSuccess()»в этом формате:

[ 
    { 
    "label1":"value1", 
    "label2":"value2", 
    "label3":"value3", 
    .... 
    }, 
    { 
    "label1":"value1", 
    "label2":"value2", 
    "label3":"value3", 
    .... 
    }, 
    .... 
] 

когда я пытаюсь преобразовать это в String, и разобрать его с помощью обычного Джексона„картографа“, я получил печальный из за исключение памяти. Это заставляет меня думать, что мне нужно передать этот большой json.

Я пошел к примеру Джексона при условии here, но пример не кажется, помогает мне много

Интересно, если я не в состоянии поиска или я просто глуп в программировании, но это было бы быть большим удовольствием, если кто-то может направить меня на хороший пример.

мое текущее усилие:

client.get(
    get_all_item_url, 
    new JsonHttpResponseHandler() { 
     @Override 
     public void onFailure(int statusCode, Header[] headers, String responseBody, Throwable e) { 
         .... 
         } 


     @Override 
     public void onSuccess(JSONArray response) { 
      ObjectMapper mapper = new ObjectMapper(); 
      ProductModel[] productModels = null; 
      try { 
       productModels = mapper.readValue(response.toString(),TypeFactory.defaultInstance().constructArrayType(ProductModel.class)); 
       } catch (IOException e) { 
        e.printStackTrace(); 
       } 
      .... 
     } 
}); 
+0

Вы пытались сохранить локально JSON, чтобы увидеть, насколько он большой? – Enrichman

+0

2 МБ. Это стоит около 3000 записей ... – izariel

+0

попробуйте уменьшить этот ответ, если вы его разработали –

ответ

0

Вы должны избегать response.toString() вызова. Вы можете получить один элемент из массива и проанализировать его. Это не настоящая потоковая передача, но она заметно снижает потребление памяти.

+0

Думаю, я попытаюсь сделать это как обходное решение, так как JSON не так сложно. – izariel