- 特殊字符解码

时间:2012-07-13 16:39:25

标签: java jquery json rest jersey

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

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

2 个答案:

答案 0 :(得分:1)

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

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

您可以使用JSONLint进行检查。

BTW:你究竟是如何生成JSON输出的?您不应该需要处理字符编码的细节。泽西岛应该为你做这件事。

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

如果您的数据仅针对某些字符进行了HTML / XML编码,但一般情况下不是这样,那么您就会遇到一个问题,需要更加靠近源进行修复。

答案 1 :(得分:0)

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