(Android)我的JSON查询似乎得到了双重编码
我的Android应用程序出现了一些奇怪的错误。这段代码似乎对JSON字符串进行了双重编码。应该发送的是?{“电子邮件”:asdf@asdf.com,“密码”:“asdf”} 或 ?%7B%22电子邮件%22:%22 服务器看到的是%257B%2522邮件%2522:%2522。。。。 这意味着服务器会看到%7B%22电子邮件%22:%22 这会混淆服务器 知道为什么会这样吗 谢谢你的帮助 //编辑以更好地定义对象 代码:(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
什么是
userData
您是否从任何EditText获取值
将
getText().toString()
与EditText帮助中的文本一起使用会不会?结果是,从URI构造函数的authority字段中删除“www.”会导致正确编码地址字符串
我不是网络专家,但如果有人能解释这一点,我会洗耳恭听。或者在这种情况下是眼睛
--
AndrewuserData是描述用户的字符串集合。是的,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());