26
A
回答
39
傑克遜自動檢測在源所使用的編碼:根據JSON說明書中,唯一有效的編碼是UTF-8,UTF-16和UTF-32。沒有其他編碼(如Latin-1)可以使用。 由於這個原因,自動檢測很容易,並且由解析器完成 - 因爲這個原因,不接受編碼檢測。 所以,如果輸入是UTF-8,它將被如此檢測。
對於輸出,UTF-8是默認值;但如果您明確要使用其他編碼,則可以明確地創建JsonGenerator
(使用方法需要JsonEncoding
),並將其傳遞給ObjectMapper
。
或者在這兩種情況下,你當然可以手動構建java.io.Reader
/java.io.Writer
,並使其使用任何你想要的編碼。
相關問題
- 1. Jackson/JSON:ExceptionInInitializerError調用新的ObjectMapper()
- 2. 使用Jackson ObjectMapper和Jersey
- 3. 使用Jackson的ObjectMapper時的重複值
- 4. 使用jackson ObjectMapper時保留的堆大小更多ObjectMapper
- 5. Jackson ObjectMapper大/小寫問題
- 6. Reuse Jackson ObjectMapper和JsonFactory實例
- 7. 如何使用Spring application.properties定製Jackson ObjectMapper?
- 8. 具有任意JSON密鑰的Jackson ObjectMapper
- 9. C#UTF8編碼
- 10. UTF8編碼/€
- 11. C++ UTF8編碼
- 12. UTF8編碼含+
- 13. php utf8編碼
- 14. utf8和編碼
- 15. Grails的UTF8編碼
- 16. json jackson編碼 - StackOverflowError
- 17. jackson ObjectMapper爲什麼拋出ClassNotFoundException?
- 18. 如何將Jackson ObjectMapper與Guice/Jersey掛鉤
- 19. 獲取java.lang.noclassdeffounderror org/codehaus/jackson/map/objectmapper錯誤。
- 20. UTF8編碼C#Webrequest
- 21. 編碼時爲UTF8
- 22. openshift php utf8編碼
- 23. knitr和UTF8編碼
- 24. UTF8編碼問題?
- 25. UTF8編碼問題
- 26. UTF8編碼無法解碼
- 27. UTF8 python編碼和解碼
- 28. PHP utf8編碼和解碼
- 29. 不同的utf8編碼?
- 30. MemoryStream的StreamReader UTF8編碼
我不知道UTF-8如何成爲默認值,當我花了幾個小時試圖讓JSON以UTF-8而不是UTF-16編碼。 – cbmanica 2014-03-14 22:31:57
@cbmanica相信我,當給予java.io.OutputStream時,UTF-8是Jackson的絕對默認值。但還有其他默認值:如果您選擇自己構造'Writer'實例,或者其他某個lib/framework會執行它,則JDK將使用其默認編碼。這些在傑克遜之外。 – StaxMan 2014-03-17 19:56:18
@cbmanica請你分享一下你的代碼嗎?似乎我有同樣的問題。 – Tregoreg 2015-05-01 03:05:28