我想用带下划线的名称序列化我的字段。例如:userName
-> user_name
。
我知道可以通过@XmlElement(name = "user_name")
注释来完成,但对我的情况来说不是很方便。
有没有办法为 JAXB 设置默认命名策略?
我想用带下划线的名称序列化我的字段。例如:userName
-> user_name
。
我知道可以通过@XmlElement(name = "user_name")
注释来完成,但对我的情况来说不是很方便。
有没有办法为 JAXB 设置默认命名策略?
注意:我是 EclipseLink JAXB (MOXy) 负责人,也是 JAXB (JSR-222) 专家组的成员。
MOXy 有一个XMLNameTransformer
扩展,使您能够覆盖元素、属性和类型的默认命名策略。
如果您从 XML 模式生成模型,则可以使用外部绑定文件来保留下划线。
<?xml version="1.0" encoding="UTF-8"?>
<jxb:bindings
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:jxb="http://java.sun.com/xml/ns/jaxb"
version="2.1">
<jxb:globalBindings underscoreBinding="asCharInWord"/>
</jxb:bindings>