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

Как по наименованию найти нужный обьект или массив в JSON - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Возможно нестандартное расположение аппаратной клавиатуры? http://www.cyberforum.ru/android-dev/thread1777376.html
Хочу "Войти" впихнуть под клавиатуру, можно так сделать? Если ответ положительный, куда, собственно, копать, чтобы это реализовать?
Программирование Android Must supply a valid URL Jsoup Вот мой код: public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View rootView =... http://www.cyberforum.ru/android-dev/thread1777355.html
Медленная подгрузка UI Программирование Android
Добрый день! Есть такой кейс. Две активити. Из одной можно запустить другую. В обеих есть свой TabLayout. Так вот, как исправить такой баг, что тень под TabLayout подгружается очень медленно при...
Программирование Android Handler при пересоздании активити
У меня есть поток Thread, который запускается во фрагменте и получает ссылку на изображение с сервера(парсит JSON выделяет ссылку). И Handler который связан с UI потоком, запускает Runnable в UI...
Программирование Android Создание игр под Android http://www.cyberforum.ru/android-dev/thread1777277.html
Добрый день! Я новичок в этом деле и хотел задать некоторые возможно глупые вопросы. Как происходит создание игр под Android? Что дает использование движков типа Cocos2d-x, LibGDX? Как создается...
Программирование Android Ошибка Could not find class 'android.os.PersistableBundle' В общем, такая беда.. Я не так давно начал кодить для Андроида, но до сих пор все было хорошо. Запускал приложение всегда не через эмулятор, а на своем телефоне (LG G4 Android 6.0, 5.7"), Оно и... подробнее

Показать сообщение отдельно
yura91
1 / 25 / 2
Регистрация: 23.10.2013
Сообщений: 2,310
08.07.2016, 14:09  [ТС]
А как при помощи Gson это сделать? или HashMap?

Добавлено через 17 секунд
Можно примерчик небольшой

Добавлено через 16 минут
Еще такой вопрос - есть JSON получаю в ответ на запрос к OpenWeathermap APi
JSON
1
{"coord":{"lon":13.41,"lat":52.52},"weather":[{"id":800,"main":"Clear","description":"clear sky","icon":"01d"}],"base":"cmc stations","main":{"temp":300.21,"pressure":1015,"humidity":36,"temp_min":297.15,"temp_max":305.93},"wind":{"speed":5.7,"deg":240},"clouds":{"all":0},"dt":1467971757,"sys":{"type":1,"id":4892,"message":0.2043,"country":"DE","sunrise":1467946470,"sunset":1468006081},"id":2950159,"name":"Berlin","cod":200}
И мой метод парсинга таких JSONов

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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
private String ParseJSON(String json){
 
            //Log.d("Func",json );
            String jsonResult = "";
 
            try {
                JSONObject JsonObject = new JSONObject(json);
                String cod = jsonHelperGetString(JsonObject, "cod");
 
                if(cod != null){
                    if(cod.equals("200")){
 
                        jsonResult += jsonHelperGetString(JsonObject, "name") + "\n";
                        JSONObject sys = jsonHelperGetJSONObject(JsonObject, "sys");
                        if(sys != null){
                            jsonResult += jsonHelperGetString(sys, "country") + "\n";
                        }
                        jsonResult += "\n";
 
                        JSONObject coord = jsonHelperGetJSONObject(JsonObject, "coord");
                        if(coord != null){
                            String lon = jsonHelperGetString(coord, "lon");
                            String lat = jsonHelperGetString(coord, "lat");
                            jsonResult += "lon: " + lon + "\n";
                            jsonResult += "lat: " + lat + "\n";
                        }
                        jsonResult += "\n";
 
                        JSONArray weather = jsonHelperGetJSONArray(JsonObject, "weather");
                        if(weather != null){
                            for(int i=0; i<weather.length(); i++){
                                JSONObject thisWeather = weather.getJSONObject(i);
                                jsonResult += "weather " +  ":\n";
                                jsonResult += "id: " + jsonHelperGetString(thisWeather, "id") + "\n";
                                jsonResult += jsonHelperGetString(thisWeather, "main") + "\n";
                                jsonResult += jsonHelperGetString(thisWeather, "description") + "\n";
                                jsonResult += "\n";
                            }
                        }
 
                        JSONObject main = jsonHelperGetJSONObject(JsonObject, "main");
                        if(main != null){
                            jsonResult += "temp: " + jsonHelperGetString(main, "temp") + "\n";
                            jsonResult += "pressure: " + jsonHelperGetString(main, "pressure") + "\n";
                            jsonResult += "humidity: " + jsonHelperGetString(main, "humidity") + "\n";
                            jsonResult += "temp_min: " + jsonHelperGetString(main, "temp_min") + "\n";
                            jsonResult += "temp_max: " + jsonHelperGetString(main, "temp_max") + "\n";
                            jsonResult += "sea_level: " + jsonHelperGetString(main, "sea_level") + "\n";
                            jsonResult += "grnd_level: " + jsonHelperGetString(main, "grnd_level") + "\n";
                            jsonResult += "\n";
                        }
 
                        jsonResult += "visibility: " + jsonHelperGetString(JsonObject, "visibility") + "\n";
                        jsonResult += "\n";
 
                        JSONObject wind = jsonHelperGetJSONObject(JsonObject, "wind");
                        if(wind != null){
 
                            jsonResult += "wind:\n";
                            jsonResult += "speed: " + jsonHelperGetString(wind, "speed") + "\n";
                            jsonResult += "deg: " + jsonHelperGetString(wind, "deg") + "\n";
                            jsonResult += "\n";
                        }
 
                        //...incompleted
 
                    }else if(cod.equals("404")){
                        String message = jsonHelperGetString(JsonObject, "message");
                        jsonResult += "cod 404: " + message;
                    }
                }else{
                    jsonResult += "cod == null\n";
                }
 
            } catch (JSONException e) {
                e.printStackTrace();
                jsonResult += e.getMessage();
            }
 
            return jsonResult;
        }
Но это метод не всегда выдает верные результаты например если в JSON "humidity":36, то я порой получаю "humidity":38. С чем это связано и как исправить?
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.