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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.85
Max_92
25 / 7 / 2
Регистрация: 26.04.2010
Сообщений: 205
#1

Парсинг JSON-файла - Программирование Android

27.01.2014, 12:28. Просмотров 1955. Ответов 3
Метки нет (Все метки)

Есть файл со следующим содержимым: ["20140127113318", "20140127105241", "20140127100927", "20140127092831", "20140127084830"] т.е. только со значениями!

Как его распарсить?? Этот способ не работает:
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
void examineJSONFile()  
     {
         try
         {
             String x = "";
             InputStream is = this.getResources().openRawResource(R.raw.jsonrbc);
             byte [] buffer = new byte[is.available()];
             while (is.read(buffer) != -1);
             String jsontext = new String(buffer);
             JSONArray entries = new JSONArray(jsontext);
 
             x = "JSON parsed.\nThere are [" + entries.length() + "]\n\n";
             
             int i;
             for (i=0;i<entries.length();i++)
             {
                 JSONObject post = entries.getJSONObject(i);
                 x += "------------\n";
                 x += "key1:" + post.getString("key1") + "\n";
             }
             tv1.setText(x);
         }
         catch (Exception je)
         {
             tv1.setText("Error w/file: " + je.getMessage());
         }
     }
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.01.2014, 12:28
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Парсинг JSON-файла (Программирование Android):

Парсинг json - Программирование Android
Здравствуйте! Имеется такой json код: { &quot;data&quot;: }И я его обрабатываю так: JSONArray urls = json.getJSONArray(&quot;data&quot;); Тогда, как мне...

Парсинг JSON - Программирование Android
Привет знатокам своего дела, у меня уже крик души! Какой час не выходит распарсить такой JSON ...

Парсинг JSON - Программирование Android
Дали задание Мне надо воссоздать структуру JSON в сообственных объектах. Т.е. парсить надо не в String (например), а сделать вот что: -...

Парсинг JSON'а - Программирование Android
Здравствуйте! Недавно я на php+msql и Eclipse пробовал этот пример с сайта...

Парсинг JSON - Программирование Android
Доброй ночи! Есть задача распарсить JSON не зная изначально сколько и чего там находится, а так же не зная ни имен ни другой инфы, кроме...

Парсинг Json - Программирование Android
Здравствуйте подcкажите как сделать: нужно данные из Json засунуть в массив, чтобы его дальше передавать по активностям. Json парсится в...

3
angryrobot
Командир зеленых роботов
348 / 285 / 53
Регистрация: 08.10.2013
Сообщений: 564
27.01.2014, 13:15 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Вот так всё работает:

Java
1
2
3
4
5
6
7
8
9
        String jsonData = "[\"20140127113318\", \"20140127105241\", \"20140127100927\", \"20140127092831\", \"20140127084830\"]";
        try {
            JSONArray jsonObj = new JSONArray(jsonData);
            for (int i=0; i<jsonObj.length() ; i++) { 
                System.out.println(jsonObj.getLong(i));
            }
        } catch (JSONException e) {
            e.printStackTrace();
        }
1
Max_92
25 / 7 / 2
Регистрация: 26.04.2010
Сообщений: 205
27.01.2014, 15:51  [ТС] #3
angryrobot, подскажи плз, как для этого файла (page.json) будет разбор выглядеть. Не могу до конца понять эту структуру! В этом файле, получается, один объект, т.к. присутствуют только одни фигурные скобки, с 4-мя парами "ключ-значение": "anonce":"строка", "img":"строка", "pubDate":"строка", "title":"строка". Если объект один, то JSONArray entries = new JSONArray(jsontext); будет состоять из одного элемента и в цикле будет одна итерация, так? JSONObject obj = entries.getJSONObject(i); этим вызовом этот объект получаем и выдёргиваем из него строковые значения, соответствующие каждому из четырёх ключей. Почему тогда вываливает exception?

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
         try
         {
             String x = "";
             //InputStream is = this.getResources().openRawResource(R.raw.jsonrbc);
             byte[] bytes = JSONString.getBytes("UTF-8");
             InputStream is = new ByteArrayInputStream(bytes);
             
             byte [] buffer = new byte[is.available()];
             while (is.read(buffer) != -1);
 
             String jsontext = new String(buffer);
             JSONArray entries = new JSONArray(jsontext);
 
             x = "JSON parsed.\nThere are [" + entries.length() + "]\n\n";
             
             int i;
             for (i=0;i<entries.length();i++)
             {
                 JSONObject obj = entries.getJSONObject(i);
                 x += "------------\n";
                 anonce[anonce_number] = obj.getString("anonce");
                 x += "anonce:" + anonce[anonce_number] + "\n";
                 x += "img:" + obj.getString("img") + "\n";
                 x += "pubDate:" + obj.getString("pubDate") + "\n";
                 x += "title:" + obj.getString("title") + "\n";
             }
             tv1.setText(x);
             
         }
         catch (Exception je)
         {
             tv1.setText("Error w/file: " + je.getMessage());
         }
0
Вложения
Тип файла: txt page.txt (580 байт, 7 просмотров)
Max_92
25 / 7 / 2
Регистрация: 26.04.2010
Сообщений: 205
27.01.2014, 16:55  [ТС] #4
разобрался.. сразу создаём JSONObject obj = new JSONObject(jsontext); и извлекаем без цикла
0
27.01.2014, 16:55
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.01.2014, 16:55
Привет! Вот еще темы с ответами:

Парсинг JSON объекта - Программирование Android
Здравствуйте, программисты! Помогите, пожалуйста, с решением задачи: Есть json-объект такого вида: {&quot;map&quot;: {&quot;firstname&quot;: null,...

Не выходит парсинг Json - Программирование Android
@Override protected void onPostExecute(String strJson) { super.onPostExecute(strJson); // выводим целиком полученную...

Json http парсинг. Массивы - Программирование Android
Здравствуйте. Нужно спарсить json данные. Есть php файл, который генерирует json код: http://silicon-valley-rus.com/server/get_json.php ...

Парсинг JSON ответа от сервера - Программирование Android
Здравствуйте друзья, давно не заходил к вам в гости. Столкнулся с таким интересным (интересно построенным) ответом от сервера в формате...


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

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

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