Форум программистов, компьютерный форум, киберфорум
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Digetix
104 / 104 / 1
Регистрация: 09.04.2012
Сообщений: 651
#1

При чтении JSON файла из папки Assets разные данные - Программирование Android

29.11.2015, 14:15. Просмотров 332. Ответов 4
Метки нет (Все метки)

Хочу из файла test.txt вытащить данные json. Файл лежит в папке assets.
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
private void readJSONFile(int i) throws JSONException {
 
    // Reading text file from assets folder
    StringBuffer sb = new StringBuffer();
    BufferedReader br = null;
    try {
        br = new BufferedReader(new InputStreamReader(getAssets().open("test.txt")));
        String temp;
        while ((temp = br.readLine()) != null)
            sb.append(temp);
    } catch (IOException e) {
        e.printStackTrace();
    } finally {
        try {
            br.close(); // stop reading
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
 
    String myjsonstring = sb.toString();
 
        try {
            JSONObject obj = new JSONObject(myjsonstring);
            JSONArray m_jArry = obj.getJSONArray("questions");
 
            JSONObject jo_inside = m_jArry.getJSONObject(i);
            id_of_answer = jo_inside.getString("id");
            answer1 = jo_inside.getString("answer1");
            answer2 = jo_inside.getString("answer2");
 
        } catch (JSONException e) {
 
            e.printStackTrace();
        }
}
На эмуляторе все работает, но на реальном устройстве answer1 и answer2 выдает null.

Не понимаю почему так
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.11.2015, 14:15
Здравствуйте! Я подобрал для вас темы с ответами на вопрос При чтении JSON файла из папки Assets разные данные (Программирование Android):

Копирование папки из Assets - Программирование Android
Всем здравствуйте! Я бы хотел узнать как можно скопировать подпапку (например "pictures") находящуюся в папке assets на карту памяти...

Работа с файлом из папки Assets - Программирование Android
Вопрос к знающим. При старте приложения в методе onCreate() постоянно копирую файл с расширением .sh в папку приложения своего из папки...

Вылетает приложение при чтении файла - Программирование Android
Доброго времени суток))) Помогите решить проблему Имеется код:package ru.myscanner.scannerth; import java.io.FileInputStream; ...

При чтении файла данные из него удаляются? - C++
При чтении файла данные из него удаляются? Например память занимаемая ch освободится file.read(reinterpret_cast<char*>(&ch),...

При чтении из файла последние данные считываются дважды !? eof() ? - C++
Есть следующий код: std::ifstream fin("ParentList", std::ios::binary); QString str; while(!fin.eof()) { ...

Произошла ошибка при чтении содержимого папки. Убедитесь, что имя файла является допустимым, а указанное место доступно для чтения. - C# ASP.NET
Что это может быть? IIS 4.0 ------------------------------- Произошла ошибка при чтении содержимого папки. Убедитесь, что имя файла...

4
dajver
409 / 273 / 18
Регистрация: 18.09.2010
Сообщений: 1,112
29.11.2015, 15:37 #2
Метод который тащит файл из асетов
Java
1
2
3
4
5
6
7
8
9
10
11
12
public static String get(Context c, String name) throws IOException {
        StringBuilder buf=new StringBuilder();
        InputStream json = c.getAssets().open(name);
        BufferedReader in = new BufferedReader(new InputStreamReader(json, "UTF-8"));
        String str;
        while ((str=in.readLine()) != null) {
            buf.append(str);
        }
        in.close();
 
        return buf.toString();
    }
Дальше как пользоваться
Java
1
JSONObject json = new JSONObject(StoreDataFromAssets.get(context, "text.txt"));
Добавлено через 1 минуту
А вообще если будет дальше показывать нулл, то покажи гсон, может парсишь не правильно
0
Digetix
104 / 104 / 1
Регистрация: 09.04.2012
Сообщений: 651
29.11.2015, 16:53  [ТС] #3
А что такое StoreDataFromAssets ?
Вот мой JSON
JSON
1
2
3
4
5
6
7
8
9
10
{
    "questions": [
       {
                "id": "a1",
                "answer1": "DOG",
                "answer2": "BLUE",
 
        }
    ]
}
0
dajver
409 / 273 / 18
Регистрация: 18.09.2010
Сообщений: 1,112
29.11.2015, 16:55 #4
StoreDataFromAssets - это класс статический с этим методом, его можешь убрать если метод используешь в том же классе где и создал его.

Просто юзай get(context, "text.txt")

А по поводу гсона, вроде парсишь нормально, даже не знаю в чем может быть проблема...
0
bastrakov
91 / 91 / 14
Регистрация: 10.10.2015
Сообщений: 307
Записей в блоге: 1
29.11.2015, 20:54 #5
m_jArry тоже null ?
0
29.11.2015, 20:54
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.11.2015, 20:54
Привет! Вот еще темы с ответами:

Сделать, чтобы при чтении из текстового файла данные записывались в определенные колонки в ListView - Delphi
Как сделать, чтобы при чтении из текстового файла данные записывались в определенные колонки в ListView?

Класс name, включающий в себя данные (имя, фамилия, отчество и номер работника). Зацикливание при чтении файла - C++
#include <iostream> #include <string> #include <fstream> #include <locale.h> using namespace std; int kol; int cl =...

Кодировка при чтении/записи в json - Python
Здравствуйте. Понадобилось написать скриптик, и решил в целях ознакомления с python написать его как раз на нём. Задача в том, чтобы...

Копирование файла в разные папки с именами в диапазоне от pb001 до pb999 - CMD/BAT
Добрый день! Нужна помощь есть bat-файл копирующий файл (test.txt) в разные директории типа (pb001..pb999): copy test.txt c:\pb001\ ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru