Я запускаю хэш-таблицу в приложении для Android, которое я разрабатываю. Когда я запускаю действие, он преобразует содержимое «ht» в символы ASCII. Кто-нибудь знает, как предотвратить это?Предотвращение перехода Hashtable на ASCII
В принципе, мне нужно декодировать закодированный текст и использовать результат в строке. Для работы URL, который используется в строке, не может быть закодирован в нем.
Hashtable
@SuppressWarnings("unchecked")
private void executeAsyncTask(){
Hashtable<String,String> ht=new Hashtable<String,String>();
GetDeptAyncTask async=new GetDeptAyncTask();
ht.put("?TYPE=leagueSearch&JSON=1","&SEARCH=test");
try {
URLDecoder.decode(""+ht, "UTF-8");
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
@SuppressWarnings("rawtypes")
Hashtable[] ht_array={ht};
async.execute(ht_array);
}
Попытка использовать его в строке
protected String doInBackground(Hashtable<String,String>... params) {
@SuppressWarnings("rawtypes")
Hashtable ht=params[0];
@SuppressWarnings("unchecked")
String json=HelperHttp.getJSONResponseFromURL(BaseUrl+"2013/export", ht);
Как "ХТ" читается в "JSON" струна
?%3FTYPE%3DleagueSearch%26JSON%3D1=%26SEARCH%test
Как URL должен быть прочитан
?TYPE=leagueSearch&JSON=1&SEARCH=test
LogCat для "ХТ"
?:??: W/?(?): Hashtable {?TYPE=leagueSearch&JSON=1=&SEARCH=test}
LogCat для "JSon" строка
?:??: W/?(?): URL==>HIDDENURL/export?%3FTYPE%3DleagueSearch%26JSON%3D1=%26SEARCH%test
?:??: W/?(?): Json Response==><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">....
?:??: W/?(?): at org.json.JSONObject.<init>(JSONObject.java:127)
?:??: W/?(?): at myapp.app.MainActivity$GetDeptAyncTask.parseJsonString(MainActivity.java:80)
Вы посылаете это через HTTP? – sanbhat
Да. строка «BaseUrl» настроена как http: // .... Если это то, что вы имеете в виду. – localhost
Я хотел проверить, передаете ли вы Hashtable по протоколу HTTP, и выглядит так, как будто .. в этом случае все содержимое будет закодировано. – sanbhat