Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 26.02.2013
Сообщений: 33
1

Парсинг Json

06.10.2016, 08:30. Показов 984. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте подcкажите как сделать: нужно данные из Json засунуть в массив, чтобы его дальше передавать по активностям. Json парсится в Parse Task.
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
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
import android.app.Activity;
import android.content.Context;
import android.os.AsyncTask;
import android.os.Bundle;
import android.app.DialogFragment;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.GridView;
import android.widget.TextView;
 
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
 
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
 
 
public class MainActivity extends Activity {
 
    public static String LOG_TAG = "my_log";
    public static final String BASE_URL = "http://medkey2.youweb.su/";
    public static final String ARTICLE_URL= "api/index.php?type=catalog";
    private static final List<DataO> dataOrder = new ArrayList<DataO>();
 
    static {
        dataOrder.add(new DataO("Test", "10000"));
        dataOrder.add(new DataO("test 2", "15000"));
        dataOrder.add(new DataO("Test 3", "25000"));
        dataOrder.add(new DataO("Услуга", "12999"));
        dataOrder.add(new DataO("Рыба услуга", "39999"));
        dataOrder.add(new DataO("Просто услуга", "28500"));
    }
    private static class DataO {
        public final String name;
        public final String price;
 
        public DataO(String name, String price) {
            this.name = name;
            this.price = price;
        }
    }
 
    GridView gvMain;
    DialogFragment modal;
 
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        new ParseTask().execute();
        modal= new Dialog1();
 
        ArrayAdapter<DataO> adapter = new DataAdapter(this);
        gvMain = (GridView) findViewById(R.id.gridView1);
        gvMain.setAdapter(adapter);
        gvMain.setOnItemClickListener(new AdapterView.OnItemClickListener() {
 
            @Override
            public void onItemClick(AdapterView<?> parent, View v,
                                    int position, long id) {
                // TODO Auto-generated method stub
                modal.show(getFragmentManager(), "Dialog1");
            }
        });
    }
    private void adjustGridView() {
    }
    private class ParseTask extends AsyncTask<Void, Void, String> {
 
        HttpURLConnection urlConnection = null;
        BufferedReader reader = null;
        String resultJson = "";
 
        @Override
        protected String doInBackground(Void... params) {
            // получаем данные с внешнего ресурса
            try {
                URL url = new URL(BASE_URL+"api/index.php?type=catalog");
 
                urlConnection = (HttpURLConnection) url.openConnection();
                urlConnection.setRequestMethod("GET");
                urlConnection.connect();
 
                InputStream inputStream = urlConnection.getInputStream();
                StringBuffer buffer = new StringBuffer();
 
                reader = new BufferedReader(new InputStreamReader(inputStream));
 
                String line;
                while ((line = reader.readLine()) != null) {
                    buffer.append(line);
                }
 
                resultJson = buffer.toString();
 
            } catch (Exception e) {
                e.printStackTrace();
            }
            return resultJson;
        }
 
        @Override
        protected void onPostExecute(String strJson) {
            super.onPostExecute(strJson);
            // выводим целиком полученную json-строку
 
            JSONObject dataJsonObj = null;
 
 
            try {
                dataJsonObj = new JSONObject(strJson);
                JSONArray events = dataJsonObj.getJSONArray("events");
                for (int i = 0; i < events.length(); i++) {
                    JSONObject info = events.getJSONObject(i);
 
                    String name = info.getString("name");
                    String price = info.getString("price");
                    String id = info.getString("id");
                    String description = info.getString("description");
                    String picture = info.getString("picture");
                    DataO dataJson = new DataO(name, price);
 
 
                }
 
            } catch (JSONException e) {
                e.printStackTrace();
            }
 
        }
    }
 
    public void next(View view) {
        /*Intent intent = new Intent(Order.this, basket.class);
        startActivity(intent);
        finish();*/
    }
 
    public void onClick(View v) {
        modal.show(getFragmentManager(), "Dialog1");
    }
 
    private class DataAdapter extends ArrayAdapter<DataO> {
 
        public DataAdapter(Context context) {
            super(context,R.layout.grid_item, (List<DataO>) dataOrder);
        }
 
        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
            DataO data = getItem(position);
 
            if (convertView == null) {
                convertView = LayoutInflater.from(getContext())
                        .inflate(R.layout.grid_item, null);
            }
            ((TextView) convertView.findViewById(R.id.label))
                    .setText(data.name);
            ((TextView) convertView.findViewById(R.id.price))
                    .setText(data.price);
            return convertView;
        }
    }
 
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.10.2016, 08:30
Ответы с готовыми решениями:

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

Парсинг JSON
Дали задание Мне надо воссоздать структуру JSON в сообственных объектах. Т.е. парсить надо не в...

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

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

4
Модератор
3386 / 2158 / 352
Регистрация: 13.01.2012
Сообщений: 8,375
06.10.2016, 12:55 2
талраш, засуньте, передайте. вопрос в чем?
0
0 / 0 / 0
Регистрация: 26.02.2013
Сообщений: 33
06.10.2016, 14:04  [ТС] 3
????А непонятно чтоли?????написано же как его оттуда закинуть в ArrayList или куда нибудь чтобы потом использовать в адаптере для заполнения gridView!!!
0
2883 / 2295 / 769
Регистрация: 12.05.2014
Сообщений: 7,978
06.10.2016, 14:56 4
если хочется передавать целый ArrayList между активити значит что-то не то с архитектурой приложения
0
Модератор
3386 / 2158 / 352
Регистрация: 13.01.2012
Сообщений: 8,375
06.10.2016, 17:25 5
талраш, когда таска заканчивается она может отдать в активити то что вам нужно. Послать дальше можно как на душу ляжет - хоть через экстру хоть через статику
0
06.10.2016, 17:25
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.10.2016, 17:25
Помогаю со студенческими работами здесь

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

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

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

Не выходит парсинг Json
@Override protected void onPostExecute(String strJson) { super.onPostExecute(strJson); ...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru