(Android) Похоже, мой запрос JSON получает двойное кодирование - PullRequest
0 голосов
/ 14 января 2011

Я получаю странные ошибки с моим приложением для Android. Похоже, что этот код дважды кодирует строку JSON. Что нужно отправить? {"Электронная почта": "asdf@asdf.com", "пароль": "asdf"} или же ?% 7B% 22email% 22:% 22 .....

сервер видит% 257B% 2522email% 2522:% 2522 .... это означает, что сервер видит% 7B% 22email% 22:% 22 .....

Это смущает сервер.

Есть идеи, почему это происходит?

Спасибо за вашу помощь

// отредактировано для лучшего определения объектов

Код:

        DefaultHttpClient c = new DefaultHttpClient();
        if(cookies!=null)
            c.setCookieStore(cookies);

        JSONObject jso = new JSONObject():

        if(loginNotLogout){
            jso.put("email", "email@email.com");
            jso.put("password", "PassW0RD");
        }

        URI u = null;
        if(loginNotLogout)
            u= new URI("HTTP","www.website.com","/UserService",jso.toString(),"");

        else
            u= new URI("HTTP","www.website.com","/UserService",jso.toString(),"");

        HttpGet httpget = new HttpGet(u);

        HttpResponse response = c.execute(httpget);
        ret.jsonString = EntityUtils.toString(response.getEntity());

Ответы [ 2 ]

0 голосов
/ 16 января 2011

Как оказалось, сбросив "www." из поля полномочий в конструкторе URI вызвал правильное кодирование строки адреса.

Я не специалист по веб-технологиям, но если кто-то может это объяснить, я весь в ушах. или глаза в этом случае.

- Andrew

0 голосов
/ 14 января 2011

что такое userData?

вы получаете значения из любого EditText?

будет использовать getText().toString() с текстом из справки EditText?

...