0

我的 Android 应用程序出现一些奇怪的错误。这段代码似乎是对 JSON 字符串的双重编码。应该发送的是 ?{"email":"asdf@asdf.com","password":"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());
4

2 回答 2

0

事实证明,删除“www”。来自 URI 构造函数中的 authority 字段导致地址字符串被正确编码。

我不是网络专家,但如果有人能解释这一点,我会全力以赴。在这种情况下或眼睛。

- 安德鲁

于 2011-01-15T22:57:48.403 回答
0

什么是userData

您是否从任何 EditText 获取值?

getText().toString()与 EditText 帮助中的文本一起使用吗?

于 2011-01-14T06:49:40.570 回答