2010-11-05 17 views
2

Итак, у меня есть вызов webservice, который возвращает мне строку JSON. Я попросил, чтобы ответ отправил обратно содержимое в кодировке UTF-8. Когда я проверяю возвращаемое значение, все выглядит хорошо. Это когда я создаю новый JSONObject и передаю текст JSON в конструктор, что все начинает вызывать проблемы.проблема кодирования/декодирования org.json символов

В частности: Веб-сервис возвращается с символом EM DASH (http://www.fileformat.info/info/unicode/char/2014/index.htm) в ответе - «format»: «On Demand Event -Все Сессии»

После JSONObject получает строку он преобразует этот символ в Java-представление этого символа -„формат“:„On Demand Event \ u2014All Sessions“

Я использую библиотеку org.json делать ставки, и при необходимости, при необходимости, переходить к другой реализации. Вот что у меня работает шоу:

HttpClient client = new HttpClient(); 
GetMethod getDownloads = new GetMethod("http://localhost:8080/ecommerce-ws/service/account/downloads"); 

getDownloads.getParams().setParameter(HttpMethodParams.HTTP_CONTENT_CHARSET, "UTF-8"); 
getDownloads.setRequestHeader("Accept", "application/json"); 

client.executeMethod(getDownloads); 

String httpResponse = getDownloads.getResponseBodyAsString(); 

JSONObject downloadsJSON = new JSONObject(httpResponse); 

Есть ли какой-то способ, что я могу установить кодировку на JSONObject когда она разбирает строку? Я немного поглядел и нашел очень мало, что помогает.

Заранее благодарю вас за помощь.

ответ