在我们的Jersey REST服务中,我们将—
作为JSON对象中的元素发送回浏览器客户端。但浏览器JQuery客户端正在使用我的服务,而不是将其解码为文字-
,而是将其显示为—
,编码值本身。
想知道我是否必须在Jersey或JSON解析器中进行任何设置更改,以便客户端浏览器将其理解为文字-
。我以UTF-16格式从Jersey发送输出JSON。感谢任何帮助。
答案 0 :(得分:1)
—
可能在HTML或XML中有效。但是在JSON中它是\u2014
(2014年是十进制数字8212的十六进制表示):
{
"trip": "New York \u2014 Chicago"
}
您可以使用JSONLint进行检查。
BTW:你究竟是如何生成JSON输出的?您不应该需要处理字符编码的细节。泽西岛应该为你做这件事。
<强>更新强> 显然,您的初始数据是HTML或XML编码(无论出于何种原因)。因此解决方案是在将编码作为JSON发送之前撤消编码。泽西岛将负责其余的工作。
如果您的数据仅针对某些字符进行了HTML / XML编码,但一般情况下不是这样,那么您就会遇到一个问题,需要更加靠近源进行修复。
答案 1 :(得分:0)
您是要发送—
还是—
?请记住,实体必须有一个终止分号。