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

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

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

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

27.03.2016, 21:13. Просмотров 372. Ответов 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, помогите добрые люди)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.03.2016, 21:13
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Парсинг JSON (Программирование Android):

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

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

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

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

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

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

4
YuraAAA
1578 / 1319 / 271
Регистрация: 25.10.2009
Сообщений: 3,437
Записей в блоге: 2
27.03.2016, 23:34 #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();
        }
0
Mikalai
262 / 238 / 95
Регистрация: 11.01.2015
Сообщений: 666
28.03.2016, 00:02 #3
торможу )
0
masterbill
0 / 0 / 0
Регистрация: 02.03.2016
Сообщений: 24
28.03.2016, 02:41  [ТС] #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"
]
}
}
0
Gura
35 / 35 / 4
Регистрация: 17.05.2012
Сообщений: 157
30.03.2016, 12:26 #5
Покопай в сторону Google Gson.
В поисковике полно понятных примеров.
0
30.03.2016, 12:26
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.03.2016, 12:26
Привет! Вот еще темы с ответами:

Парсинг JSON-файла - Программирование Android
Есть файл со следующим содержимым: т.е. только со значениями! Как его распарсить?? Этот способ не работает: void...

Не выходит парсинг 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
Здравствуйте друзья, давно не заходил к вам в гости. Столкнулся с таким интересным (интересно построенным) ответом от сервера в формате...


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

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

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