【发布时间】:2019-11-09 23:13:05
【问题描述】:
我需要jackson-dataformat-xml 方面的帮助。我需要使用XmlMapper 将List<String> 序列化到xml 中,并对引号" → &amp;quot; 进行编码。
但是在序列化XmlMapper 后,编码所有其他特殊符号(<、>、& 等)但完全忽略引号(' 和")...如果我对字符串进行编码在序列化之前手动操作,因为&amp;quot; 内部有'&' 并且它被序列化为&amp;quot; 而不是当然。
也许有人知道如何使它工作?
此外,有没有一种解决方法可以使用@JacksonRawValue 或类似的方法禁用List<String> 字段上的自动特殊符号编码?此注释在简单(非数组)字段上效果很好,但在 List<String> 上无法正常工作。
谢谢。
【问题讨论】:
-
你能提供一个你序列化什么,你执行什么以及你得到什么序列化形式的例子吗?
-
只是想把代码标签放在这里,这样可以很好地格式化..
-
@aprodymov 你可能已经理解了,所以在 cmets 中不支持多行代码格式 :) 但我明白了。您在
list中输入了什么值,生成了什么值以及您期望什么? -
我放了类似的东西。 aa&c"bbb. 生成:aa&c"bbb.但我期待 aa&c"bbb。
-
如果我编码使用 StringEscapeUtils.escapeXml(value) 然后序列化它。它进入aa&c"bbb。因为它用 & 内部编码已经编码的值 - 你明白
标签: java xml jackson escaping jackson-dataformat-xml