在使用 ObjectMapper
序列化和反序列化对象时,有没有办法告诉 Jackson 使用 UTF-8 编码?
最佳答案
Jackson 自动检测源代码中使用的编码:根据 JSON 规范,只有 UTF-8、UTF-16 和 UTF-32 是有效的编码。不能使用其他编码(如 Latin-1)。 因此,自动检测很容易并由解析器完成——因此不接受编码检测。 所以,如果输入是 UTF-8,就会被这样检测。
对于输出,UTF-8 是默认值;但是如果你明确地想使用另一种编码,你可以明确地创建 JsonGenerator
(使用一个采用 JsonEncoding
的方法),并将其传递给 ObjectMapper
.
当然,在这两种情况下,您都可以手动构造 java.io.Reader
/java.io.Writer
,并使其使用您想要的任何编码。
关于json - 使用 UTF-8 编码的 Jackson ObjectMapper?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10004241/