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

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

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

Не получается получить json - Android

31.12.2013, 02:02. Просмотров 1039. Ответов 5
Метки нет (Все метки)

Пытаюсь получить json строку с http://217.12.194.171:31/server/api/users/getusers
Использую для примера http://www.learn2crack.com/2013/10/a...l-example.html
Выдает ошибку, точнее пишит там где я вывожу строку(для проверки) the requested resource does not support http method 'post'.
Это не помогло http://stackoverflow.com/questions/1...ort-http-metho
кто что может посоветовать?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.12.2013, 02:02     Не получается получить json
Посмотрите здесь:

Android Массив из json
Android Ошибка - Errororg.json.JSONExceprion: Value bd.json of type java.lang.String cannot be converted to JSONObject
Android Послать POST запрос с параметрами и получить json
Android Json djangorestframework
Получить JSON и передать все его параметры его в Intent. Использован автофильтр Android
Json в массив Android
Android Не получается получить путь к карте памяти
Android JSON
Android Получить json
Не получается получить координаты с GPS Android
Android JSON и Андроид
Получить json в приложении и вывести его в listview во фрагмент Android

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
YuraAAA
1564 / 1306 / 269
Регистрация: 25.10.2009
Сообщений: 3,424
Записей в блоге: 2
31.12.2013, 17:13     Не получается получить json #2
Slavik3, во-первых, не могу понять почему post, если это явно get. Вот Вам рабочий парсер Вашего запроса.

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
import android.util.Log;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.util.EntityUtils;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
 
import java.io.IOException;
import java.net.URI;
 
public class Worker {
 
    public static final String TAG = Worker.class.getSimpleName();
 
    public void doRequest() throws IOException {
        HttpClient httpClient = new DefaultHttpClient();
        HttpGet httpGet = new HttpGet(URI.create("http://217.12.194.171:31/server/api/users/getusers"));
        HttpResponse httpResponse = httpClient.execute(httpGet);
        String sResponse = EntityUtils.toString(httpResponse.getEntity());
        try {
            JSONObject rootJson = new JSONArray(sResponse).getJSONObject(0);
            l(rootJson.getString("$id"));
            l(rootJson.getString("UserId"));
            l(rootJson.getString("Name"));
            l(rootJson.getString("City"));
            l(rootJson.getString("Country"));
            l(rootJson.getString("SumDistance"));
            l(rootJson.getString("Nickname"));
 
            JSONArray tripsArray = rootJson.getJSONArray("Trips");
            for (int i = 0; i < tripsArray.length(); i++) {
                JSONObject currentInnerJson = tripsArray.getJSONObject(i);
                if (currentInnerJson.has("$ref")) {
                    l(currentInnerJson.getString("$ref"));
                    continue;
                }
                l(currentInnerJson.getString("$id"));
                l(currentInnerJson.getJSONObject("User"));             //Parse inner json here
                l(currentInnerJson.getJSONObject("Transport"));        //Parse inner json here
                l(currentInnerJson.getString("Id"));
                l(currentInnerJson.getString("StartCity"));
                l(currentInnerJson.getString("FinishCity"));
                l(currentInnerJson.getString("Distance"));
                l(currentInnerJson.getString("Comment"));
                l(currentInnerJson.getString("Image"));
                l(currentInnerJson.getString("DateTravel"));
                l(currentInnerJson.getString("UserId"));
                l(currentInnerJson.getString("TransportId"));
 
            }
 
 
        } catch (JSONException e) {
            e.printStackTrace();
        }
 
    }
 
    void l(JSONObject message) {
        Log.d(TAG, message == null ? "null" : message.toString());
    }
 
    void l(String message) {
        Log.d(TAG, message == null ? "null" : message);
    }
 
}
запуск:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public class MyActivity extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        new Thread(new Runnable() {
            @Override
            public void run() {
                try {
                    new Worker().doRequest();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }).start();
    }
}
Slavik3
0 / 0 / 0
Регистрация: 22.09.2013
Сообщений: 22
01.01.2014, 17:29  [ТС]     Не получается получить json #3
YuraAAA, огромное спасибо. подскажите пожалуйста как мне вывести результат
YuraAAA
1564 / 1306 / 269
Регистрация: 25.10.2009
Сообщений: 3,424
Записей в блоге: 2
01.01.2014, 17:31     Не получается получить json #4
Slavik3, а куда Вам надо его вывести?) Сейчас он выводит всё в лог. Но этот парсер не полный, почти полный. Я просто показал пример.
Slavik3
0 / 0 / 0
Регистрация: 22.09.2013
Сообщений: 22
01.01.2014, 17:37  [ТС]     Не получается получить json #5
YuraAAA, на экран. а чего там не хватает?
YuraAAA
1564 / 1306 / 269
Регистрация: 25.10.2009
Сообщений: 3,424
Записей в блоге: 2
01.01.2014, 17:50     Не получается получить json #6
Ну как минимум,
Java
1
2
l(currentInnerJson.getJSONObject("User"));             //Parse inner json here
l(currentInnerJson.getJSONObject("Transport"));        //Parse inner json here
надо парсить дальше. Вам стоит разбираться самому.
Yandex
Объявления
01.01.2014, 17:50     Не получается получить json
Ответ Создать тему
Опции темы

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