Как я могу сделать так, чтобы URLEncoding не кодировал двоеточие?

#java #android

#java #Android

Вопрос:

У меня есть JSONObject:

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

Итак, у меня есть эти специальные символы в объекте

Я URLEncode jsonString, который у меня есть.

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

Я получаю ответ от сервера: «Отправленный вами URI содержит запрещенные символы»..
Это закодированный URL: serverurl/{user:{"firstname":"testuser","surname":"æøå"}}

Но что мне нужно, чтобы это было:

 {user:{"firstname%22:"testuser%22,"surname%22:%22æøå%22%7D%7D
 

Возможно ли это каким-либо разумным способом?

Заранее спасибо

Ответ №1:

Да, или просто:

 URLEncoder.encode(theUrl).replace(":", ":");
 

Комментарии:

1. Вносите ли вы изменения в библиотеку?