所以我有一个webservice调用,它给了我一个JSON字符串。我已经请求响应发送回UTF-8编码的内容。当我检查返回的值时,一切看起来都很好。当我创建一个新的JSONObject并将JSON文本传递给构造函数时,事情开始引起问题。
具体做法是: Web服务返回响应中的EM DASH(http://www.fileformat.info/info/unicode/char/2014/index.htm)字符 - “格式”:“按需事件 - 所有会话”
在JSONObject收到字符串后,它会将此字符转换为此字符的java表示形式 - “format”:“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上设置字符编码?我已经做了相当多的环顾四周,发现很少有帮助。
提前感谢您的协助。
答案 0 :(得分:1)