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

Ikk*_*kky 5 java android

我有一个JSONObject:

{user:{"firstname":"testuser","surname":"æøå"}}
Run Code Online (Sandbox Code Playgroud)

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

我URLncode我有的jsonString.

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

我收到服务器的回复:"你提交的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
Run Code Online (Sandbox Code Playgroud)

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

提前致谢

Mau*_*rry 11

是的,或者干脆:

URLEncoder.encode(theUrl).replace("%3A", ":");
Run Code Online (Sandbox Code Playgroud)