json - 使用 UTF-8 编码的 Jackson ObjectMapper?

标签 json jackson

在使用 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/

相关文章:

java - 无法反序列化 - Jackson LocalDate/Time - JUnit

java - 将 JSON 数组发布到 Spring Boot RestController 中

Javascript/JSON : Object of object converted to associative array

json - winston 日志格式

java - 为什么我的 JSON-Simple JSONArray 会出现空指针异常?

glassfish - 强制 glassfish 4 使用 Jackson 2.3

java - 使用 .getClass() 时如何将参数传递给构造函数?

ruby-on-rails - 如何将带有 key 的 json 文件上传到 Heroku

python - 迭代Python字典中的键值对来构建对象列表

java - 使用 Jackson 读取单个 JSON 事件