java - — 特殊字符解码

标签 java jquery json rest jersey

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

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

最佳答案

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

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

您可以通过 JSONLint 查看.

顺便说一句:您到底是如何生成 JSON 输出的?您不需要关心字符编码的细节。 Jersey 应该为您做到这一点。

更新: 显然,您的初始数据是 HTML 或 XML 编码的(无论出于何种原因)。因此,解决方案是在将其作为 JSON 发送之前撤消编码。 Jersey 将处理剩下的事情。

如果您的数据仅针对某些字符进行 HTML/XML 编码,而不是一般字符,那么您就会遇到需要在更接近源的地方进行修复的问题。

关于java - — 特殊字符解码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11474708/

相关文章:

javascript - JQuery 用户界面 : multiple progress bar - problems to set dynamic values

android - 从 AsyncTask 获取返回的 JSON

java - 找不到 Fragment 中的 RecyclerView - 空对象引用

python - pandas Dataframe 到 JSON 字典列表

java - java中对象的数组和对象的创建

javascript - 如果列表中的类包含特定字符串,如何迭代列表并返回 URL?

javascript - Django 模板 : insert values for javascript variables

java/SQL 代码,插入到 postgres

java - 验证文件 - 安全问题

java - 服务 API 网关