如何让URLEncoding不对冒号进行编码?

时间:2011-10-24 11:28:20

标签: java android

我有一个JSONObject:

{user:{"firstname":"testuser","surname":"æøå"}}

所以我在对象中有这些特殊字符

我URLncode我有的jsonString。

urlEncodedJsonReq = URLEncoder.encode("{user:{\"firstname\":\"testuser\",\"surname\":\"æøå\"}}","UTF-8");

我收到服务器的回复:“你提交的URI不允许使用字符。” 这是已编码的网址:serverurl/%7Buser%3A%7B%22firstname%22%3A%22testuser%22%2C%22surname%22%3A%22%C3%A6%C3%B8%C3%A5%22%7D%7D

但我需要的是:

%7Buser:%7B%22firstname%22:%22testuser%22%2C%22surname%22:%22%C3%A6%C3%B8%C3%A5%22%7D%7D

这可能以任何合理的方式实现吗?

提前致谢

1 个答案:

答案 0 :(得分:11)

是,或者干脆:

URLEncoder.encode(theUrl).replace("%3A", ":");