簡體   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