Как декодировать текст с помощью Java? - PullRequest
0 голосов
/ 08 мая 2019

Я получаю строку в ответе JSON.Он содержит тире (-), однако вместо него я получаю некоторые специальные символы в строке.

Я пытался декодировать его с использованием UTF-8, но безуспешно.

Вот эта строка:

String subject =

Содержит – в теме.

Как правильно ее декодировать?

Я использую следующий код Java, из которогоЯ получаю ответ JSON:

try{

HttpGet httpGet = new HttpGet(WEB_SERVICE_URL);
String AUTHORIZATION_VALUE = "BEARER "+ "KEY"
httpGet.setHeader(AUTHORIZATION_KEY,AUTHORIZATION_VALUE);

String responseBody = "";
try(CloseableHttpResponse responseN = HttpClients.createDefault().execute(httpGet)){
responseBody = EntityUtils.toString(responseN.getEntity());
}catch (IOException e) {
e.printStackTrace();
}
JSONObject jsonObj = JSONFactoryUtil.createJSONObject(responseBody.toString());

jsonArray = jsonObj.getJSONArray("messages");
} catch (Exception e) {
    e.printStackTrace();
}​

В объекте json для одного из атрибутов я получаю закодированную строку, как указано ниже.Заранее спасибо!

ОБНОВЛЕНИЕ: -

Я изменил свой код следующей строкой,

responseBody = EntityUtils.toString(responseN.getEntity(), "utf-8");

Но удача не сработала.Однако строка заменяется с – на –.

Я ссылался на несколько ссылок для дальнейшего декодирования этого специального символа, но я не добился успеха.Любая помощь будет действительно заметной.Заранее спасибо!

...