0

在我们的 Jersey REST 服务中,我们将—作为 JSON 对象中的一个元素发送回浏览器客户端。但是正在使用我的服务的浏览器 JQuery 客户端,而不是将其解码为文字,而是将其-显示为—编码值本身。

想知道我是否必须在 Jersey 或 JSON 解析器中进行任何设置更改,以便客户端浏览器将其理解为文字-。我正在以 UTF-16 格式从 Jersey 发送输出 JSON。感谢任何帮助。

4

2 回答 2

1

—可能在 HTML 或 XML 中有效。但在 JSON 中是\u2014(2014 是十进制数 8212 的十六进制表示):

{
    "trip": "New York \u2014 Chicago"
}

您可以使用JSONLint检查它。

顺便说一句:您究竟是如何生成 JSON 输出的?您不需要关心字符编码的细节。泽西岛应该为你做这件事。

更新: 显然,您的初始数据是 HTML 或 XML 编码的(无论出于何种原因)。因此解决方案是在将其作为 JSON 发送之前撤消编码。泽西岛将负责其余的工作。

如果您的数据只是针对某些字符进行了 HTML/XML 编码,而不是一般情况下,那么您有一个问题需要在更接近源的位置进行修复。

于 2012-07-13T17:40:15.707 回答
0

你是发送&#8212还是—?请记住,实体必须有一个终止分号。

于 2012-07-13T16:44:26.903 回答