Все технические форумы на одном сайте Удобный поиск информации с популярных форумов в одном месте
Вопрос: Получить json

Здравствуйте. Мне нужно получить следующий json ответ с моего сайта для мобильного приложения.
XML
1
{"count":23,"next":null,"previous":null,"results":[{"title":"Открытки про осень","slug":"otkrytki-pro-osen"},{"title":"Открытки на выпускной 2016 и окончание школы","slug":"otkrytki-na-vypusknoj-2016-i-okonchanie-shkoly"},{"title":"Открытки с Днём России 12 июня","slug":"otkrytki-s-dnyom-rossii-12-iyunya"},{"title":"Открытки с 9 мая — Днём Победы","slug":"otkrytki-s-9-maya-dnyom-pobedy"},{"title":"Открытки с 1 мая","slug":"otkrytki-s-1-maya"},{"title":"Открытки с Пасхой 1 мая 2016","slug":"otkrytki-s-pashoj-1-maya-2016"},{"title":"Открытки с Масленицей","slug":"otkrytki-s-maslenicej"},{"title":"Открытки на день матери","slug":"otkrytki-na-den-materi"},{"title":"Открытки с 1 сентября","slug":"otkrytki-s-1-sentyabrya"},{"title":"Открытки к свадьбе","slug":"otkrytki-k-svadbe"},{"title":"Открытки с рождением","slug":"otkrytki-s-rozhdeniem"},{"title":"Картинки с надписями","slug":"kartinki-s-nadpisyami"},{"title":"Открытки с Днём ангела","slug":"otkrytki-s-dnyom-angela"},{"title":"Открытки улыбнись!","slug":"otkrytki-ulybnis"},{"title":"Выздоравливай!","slug":"vyzdoravlivaj"},{"title":"Открытки скучаю","slug":"otkrytki-skuchayu"},{"title":"Открытки с добрым утром","slug":"otkrytki-s-dobrym-utrom"},{"title":"Открытки спокойной ночи","slug":"otkrytki-spokojnoj-nochi"},{"title":"Открытки любимым с признанием в любви","slug":"otkrytki-lyubimym-s-priznaniem-v-lyubvi"},{"title":"Поздравительные открытки","slug":"pozdravitelnye-otkrytki"},{"title":"Открытки с 8 марта","slug":"otkrytki-s-8-marta"},{"title":"Открытки на юбилей","slug":"otkrytki-na-yubilej"},{"title":"Открытки с днём рождения","slug":"otkrytki-s-dnyom-rozhdeniya"}]}
Используя параметр json всегда получается null
JSON
1
JSONObject json = jParser.makeHttpRequest(url, "GET", params);
AssyncTask:
Java(TM) 2 Platform Standard Edition 5.0
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
public class UpdateTask extends AsyncTask<String, Void, JSONObject> {
        Context context;
 
        public UpdateTask(Context context) {
            super();
            this.context = context;
        }
 
        @Override
        protected void onPreExecute() {
            super.onPreExecute();
        }
 
        @Override
        protected JSONObject doInBackground(String... urls) {
            return loadJSON(urls[0]);
        }
 
        public JSONObject loadJSON(String url) {
 
            JSONParser jParser = new JSONParser();
            // здесь параметры необходимые в запрос добавляем
            List<NameValuePair> params = new ArrayList<NameValuePair>();
            params.add(new BasicNameValuePair("page", "1"));
            // посылаем запрос методом GET
            JSONObject json = jParser.makeHttpRequest(url, "GET", params);
 
            return json;
        }
 
        @Override
        protected void onPostExecute(JSONObject jsonData) {
            // если какой-то фейл, проверяем на null
            // фейл может быть по многим причинам: сервер сдох, нет сети на устройстве и т.д.
            if (jsonData != null) {
                super.onPostExecute(jsonData);
                String res = "";
                try {
 
                    res = jsonData.getString("title");
 
 
                } catch (JSONException e) {
                    e.printStackTrace();
                }
            } else {
 
            }
        }
    }
Мне нужно просто получить json. На странице нет запроса прав доступа.

В браузере все срабатывает, в коде нет.

В JSonParcer.class я только изменил формирование параметра, но при дебаггинге строка запроса получается верной.
JSON
1
url += "?format=json" + "&" + paramString;
Как проще и правильней получать такие json ответы? Что я делаю не так?

Спасибо.
Ответ: CoolMind, Решение ошибки описано тут , и как то связано вот

Мне нужно просто подключаться к локалхосту, но у меня не получается. Обычные сайты с доменами парсятся без проблем.

Добавлено через 1 час 48 минут
The localhost refers to the device on which the code is running, in this case the emulator.

If you want to refer to the computer which is running the Android simulator, use the IP address 10.0.2.2 instead. You can read more from
Локальный относится к устройству, на котором код выполняется, в этом случае эмулятор.

Если вы хотите обратиться к компьютеру, который работает на Android симулятор, использовать IP-адрес 10.0.2.2 вместо этого. Вы можете прочитать больше .
К какому адресу мне обращаться я не понимаю.

Добавлено через 10 часов 43 минуты
Прошу прощения. Изначально вопрос был про работу с json. В итоге вопрос вылился в другую тему и быть может мне поэтому сразу не помогли. Но решил проблему я по следующим статьям: 2) 3)

Запустил сервере по или

И в коде запуская через эмулятор Genymotion поменял строку запроса, он и в webbrowser так же сработает, я не с того конца подошел
Java(TM) 2 Platform Standard Edition 5.0
1
2
3
        String url = "http://10.0.3.2:8080/galleries/?format=json&page=1";
        final DownloadJson load = new DownloadJson();
        load.execute(url);

Вам также можеть быть интересно:

Thread.sleep()
Один объект класса в onCreate и onClick
Авторизация на сервере
Размеры виджетов
Выплаты AdMob