Форум программистов, компьютерный форум CyberForum.ru

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

Войти
Регистрация
Восстановить пароль
 
masterbill
0 / 0 / 0
Регистрация: 02.03.2016
Сообщений: 24
#1

Парсинг JSON - Android

27.03.2016, 21:13. Просмотров 303. Ответов 4

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

Java
1
{"blame1":{"apps":["com.asdasdasd.asdasdasd"]},"blame2":{"apps":["app1","app2","app3","app4"]},"blame3":{"apps":["test","test2","test3","tes5"]}}
мне нужно чтобы программа прошла в for по всем blame и сверила apps от каждого blame, помогите добрые люди)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.03.2016, 21:13     Парсинг JSON
Посмотрите здесь:

Android Парсинг JSON'а
Android Парсинг большого объема JSON данных
Android Парсинг json, многомерный массив с разными типами данных
Android Парсинг JSON-файла
Android Ошибка - Errororg.json.JSONExceprion: Value bd.json of type java.lang.String cannot be converted to JSONObject
Json http парсинг. Массивы Android
Android Осуществить парсинг JSON с помощью готового макета "VKApiMessage"
Парсинг JSON ответа от сервера Android
Парсинг JSON-строки и вывод данных из строки Android
Android Парсинг json
Парсинг JSON объекта Android
Парсинг Json Android

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
YuraAAA
1565 / 1307 / 269
Регистрация: 25.10.2009
Сообщений: 3,424
Записей в блоге: 2
27.03.2016, 23:34     Парсинг JSON #2
masterbill, модель Blame:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public class Blame {
    List<String> apps = new ArrayList<>();
 
    public void setApps(List<String> apps) {
        this.apps = apps;
    }
 
    public List<String> getApps() {
        return apps;
    }
 
    public void add(String app) {
        apps.add(app);
    }
}
парсер
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
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
 
import java.util.ArrayList;
import java.util.List;
 
/**
 * Created by Yuriy
 */
public class JsonParser {
 
    public static List<Blame> parse(JSONObject jsonObject) throws JSONException {
        List<Blame> blames = new ArrayList<>();
        int blameIndex = 1;
        while (jsonObject.has(getBlameName(blameIndex))) {
            JSONObject blameJson = jsonObject.getJSONObject(getBlameName(blameIndex));
            JSONArray appsJson = blameJson.getJSONArray("apps");
            Blame blame = new Blame();
            for (int i = 0; i < appsJson.length(); i++) {
                blame.add(appsJson.getString(i));
            }
            blames.add(blame);
            blameIndex++;
        }
        return blames;
    }
 
    private static String getBlameName(int index) {
        return "blame" + index;
    }
}

вызов:

Java
1
2
3
4
5
try {
            List<Blame> blames = JsonParser.parse(new JSONObject("{"blame1":{"apps"..............."));
        } catch (JSONException e) {
            e.printStackTrace();
        }
Mikalai
256 / 232 / 93
Регистрация: 11.01.2015
Сообщений: 651
28.03.2016, 00:02     Парсинг JSON #3
торможу )
masterbill
0 / 0 / 0
Регистрация: 02.03.2016
Сообщений: 24
28.03.2016, 02:41  [ТС]     Парсинг JSON #4
Так я понял а как теперь вынуть название blame который был обработан? и apps к нему не совсем понимаю просто.

Добавлено через 13 минут
Просто сервер каждый раз дает разные blame и разные apps мне нужно чтобы приложение парсила их так: ммм я парсю blame1 хмм вот его apps потом ммм я парсю blame2 хмм вот его apps, помогите пожалуйста сделать так.

Добавлено через 2 часа 23 минуты
Вот так может проще будет.

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
{
"blame1":{
"apps":[
"com.asdasdasd.asdasdasd"
]
},
"blame2":{
"apps":[
"app1",
"app2",
"app3",
"app4"
]
},
"blame3":{
"apps":[
"test",
"test2",
"test3",
"tes5"
]
}
}
Gura
35 / 35 / 4
Регистрация: 17.05.2012
Сообщений: 157
30.03.2016, 12:26     Парсинг JSON #5
Покопай в сторону Google Gson.
В поисковике полно понятных примеров.
Yandex
Объявления
30.03.2016, 12:26     Парсинг JSON
Ответ Создать тему
Опции темы

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