繁体   English   中英

Unicode符号的Jackson JSON处理

[英]Jackson JSON Handling of Unicode symbols

我正在调用一个Web服务,该服务返回包含代表®符号的ascii符号的文本。 例如:

ACME Corp® Services

我使用spring将这些文本数据直接作为JSON对象返回,并且当它进入浏览器时,json数据仍然正确:

"service": "ACME Corp® Services"

但是在通过Handlebars模板渲染并写入页面后,我得到:

ACME Corp® Services

使用前是否需要清理JSON数据? 如果是这样,那么最佳做法是什么? 否则,也许我应该在后端进行一些更改,但是我不确定那会是什么。

您不需要清理内容,但是必须确保它使用JSON规范允许的有效编码:通常为UTF-8(替代为UTF-16和UTF-32)。

如果内容不是编码为UTF-8,而是其他编码(例如ISO-8859-1又称“ Latin-1”),则需要构造Reader以正确解码:

Reader r = new InputStreamReader(in, StandardCharset.ISO_8859_1);
MyPOJO pojo = mapper.readValue(r, MyPOJO.class);

您似乎遇到的问题是所使用的编码不正确。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM