java - XStream 使用 getter 进行序列化

标签 java xml spring xstream

我的 Web 服务使用 Spring MVC 以 xml 和 json 格式返回数据。对于 json,spring 使用 Jackson 和 XStream for XML。但是,XStream 使用字段进行序列化,而 Jackson 使用方法(setter/getter)。

我想在 xml 序列化中包含所有/一些 getter。这如何通过自定义转换器或注释来实现?

最佳答案

您需要注册一个自定义的 JavaBeanConverter,在这里查看单元测试:https://fisheye.codehaus.org/browse/xstream/tags/XSTREAM_1_1_3/xstream/src/test/com/thoughtworks/xstream/converters/javabean/JavaBeanConverterTest.java?r=554

XStream xstream = new XStream();
xstream.registerConverter(new JavaBeanConverter(xstream.getClassMapper(), "class"), -20);

感谢原始线程:http://xstream.10960.n7.nabble.com/How-to-use-public-accessor-instead-of-field-td1193.html

关于java - XStream 使用 getter 进行序列化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15031580/

相关文章:

java - 如何在java中向Jpanel添加3个矩形?

java - XOR神经网络(FF)收敛到0.5

java - 灵活查询适用于 HANA 数据库,但不适用于 HSQL 数据库

c# - 使用正则表达式从 XML 字符串中删除 XML 节点命名空间前缀

python - 将 XML 转换为 Dict/JSON

java - Servlet上下文和Spring应用上下文的本质区别

Java改变数组中整数的位置

java - 我可以在 xpath 上应用 where 条件吗?

java - Tomcat 7 - 无法找到 mysql 驱动程序

java - Spring Boot 将 JSON 和简单属性传递给相同的映射