Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/184.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
(Android)我的JSON查询似乎得到了双重编码_Android_Json_Uri_Http Get - Fatal编程技术网

(Android)我的JSON查询似乎得到了双重编码

(Android)我的JSON查询似乎得到了双重编码,android,json,uri,http-get,Android,Json,Uri,Http Get,我的Android应用程序出现了一些奇怪的错误。这段代码似乎对JSON字符串进行了双重编码。应该发送的是?{“电子邮件”:asdf@asdf.com,“密码”:“asdf”} 或 ?%7B%22电子邮件%22:%22 服务器看到的是%257B%2522邮件%2522:%2522。。。。 这意味着服务器会看到%7B%22电子邮件%22:%22 这会混淆服务器 知道为什么会这样吗 谢谢你的帮助 //编辑以更好地定义对象 代码: 什么是userData 您是否从任何EditText获取值 将getTe

我的Android应用程序出现了一些奇怪的错误。这段代码似乎对JSON字符串进行了双重编码。应该发送的是?{“电子邮件”:asdf@asdf.com,“密码”:“asdf”} 或 ?%7B%22电子邮件%22:%22

服务器看到的是%257B%2522邮件%2522:%2522。。。。 这意味着服务器会看到%7B%22电子邮件%22:%22

这会混淆服务器

知道为什么会这样吗

谢谢你的帮助

//编辑以更好地定义对象

代码:


什么是
userData

您是否从任何EditText获取值


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

结果是,从URI构造函数的authority字段中删除“www.”会导致正确编码地址字符串

我不是网络专家,但如果有人能解释这一点,我会洗耳恭听。或者在这种情况下是眼睛

--
Andrew

userData是描述用户的字符串集合。是的,userData中的值是由EditText生成的,但这些值在其他一些代码中被清除。我忽略了jso是一个JSONObject的事实。你能打印它生成的整个JSON吗?
        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());