2016-11-10 2 views
1

Я хочу создать приложение для Android, которое использует API для отображения некоторой информации о списке. Проблема, с которой я сталкиваюсь, заключается в том, что json-файл, который я хочу загрузить, слишком велик для String объекта. Мой инструктор сказал мне, что Android Studio каким-то образом ограничивает размер строки. Я получаю сообщение об ошибке «Слишком длинная строка». Возможно ли загрузить эту информацию в виде json-файла (это на самом деле .geojson) и сохранить его где-нибудь на диске (на самом деле я могу загрузить файл), а затем проанализировать его без использования какого-либо объекта String, прочитав его из самого файла. ИЛИ Можете ли вы предложить другой способ сделать это, так как я новичок в программировании?Как создать объект JSON без использования String?

+1

'Можете ли вы предложить другой способ сделать это? Да. Используйте [JsonReader] (https://developer.android.com/reference/android/util/JsonReader.html) для разбора JSON, не удерживая его в String или StringBuffer. –

+0

Я бы порекомендовал вам разбить такую ​​огромную информацию при извлечении с сервера (потому что вы можете не отображать все сразу) или загрузить ее другим способом, как и любой другой файл, и прочитать его с локальной системы с помощью JsonReader. –

+0

Попробуйте https://square.github.io/retrofit/ – Bills

ответ

0

Решение, которое я нашел, заключается в том, что с помощью простой простой библиотеки JSON в моем проекте. Вы можете получить его от here. После того как я скачал файл JSON в хранилище, я проанализирован его, используя код ниже:

JSONParser parser = new JSONParser(); 
    Object obj = null; 

    try { 
     obj = parser.parse(new FileReader(directory of the folder + "/fileName.extension")); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } catch (org.json.simple.parser.ParseException e) { 
     e.printStackTrace(); 
    } 

    JSONObject jsonObject = (JSONObject) obj; 

Теперь вы можете использовать JSONObject о том, как вы хотите.

Смежные вопросы