Android Студия не может читать JSONArray - PullRequest
2 голосов
/ 07 мая 2020

Я новичок в Android Studio и только учусь читать файлы JSON. Я использовал logcat, чтобы узнать, что получаю исключение в строке, объявляющей список данных JSONArray. Мой код ниже для справки.

try{
            JSONObject jsonObject = new JSONObject(loadJSONFromAsset());
            JSONArray dataList = jsonObject.getJSONArray("eateries");
            //Log.d("test", String.valueOf(dataList.length()));
            for(int i = 0; i < dataList.length(); i++){
                String EateryName = dataList.getJSONObject(i).getString("name");
                EateryList.add(EateryName);
            }
        }catch (JSONException e){
            e.printStackTrace();
            //Log.d("test", "exception");
        }

Ответы [ 2 ]

0 голосов
/ 07 мая 2020

Проверить Ответ GrIsHu просто вам нужно создать Assests папку в root проекта

enter image description here

Вот исходная ссылка

String myJsonFileString = Utils.getJsonFromAssets(getApplicationContext(), "your.json");
Log.i("My data", jsonFileString);

Gson gson = new Gson();
Type listUserType = new TypeToken<List<User>>() { }.getType();

List<User> users_ = gson.fromJson(myJsonFileString, listUserType);
for (int i = 0; i < users.size(); i++) {
  Log.i("data", "> Item " + i + "\n" + users.get(i));
}

go через исходное сообщение

0 голосов
/ 07 мая 2020

Выполните следующие действия, чтобы решить вашу проблему.

  1. Проверить наличие папки / каталога с ресурсами с помощью кода (путь к файлу должен быть точным с. json).
  2. Проверить наличие файла, созданного / присутствующего в каталоге, с помощью объекта File (если нет затем создайте файл).
  3. Проверьте размер файла, прочитав файл с помощью FileInputStream.
  4. Если size> 0, получите данные в байтовом массиве и преобразуйте байтовый массив в строку.
  5. Теперь у вас есть строка json данных. Создайте JsonArray (your_string) и выполните дальнейшие операции, которые вам нравятся.
    Каждый шаг имеет код, доступный в этом переполнении стека. Найди и реши.
    Надеюсь, это поможет.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...