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