繁体   English   中英

Jettison和JAXB自动更改JSON响应中的数据类型

[英]Jettison and JAXB Automatically Changes Data Type in JSON Response

我正在使用Resteasy 2.0.1.GA和Resteasy-jettison-provider-1.2.GA与JAXB annontations,每当我有一个包含所有数字的String属性(即String groupName="1111"; )时,JSON响应将显示它通过删除双引号作为数字。 如果我将其更改为String groupName="oneoneoneoneone"; JSON响应会将其视为Sting并在响应中保留双引号。 反正有没有让Jettison提供商根据其类型而不是其价值严格解释数据的响应?

这似乎是Jettison隐含的“特征”; 它试图反省实际数据,并找出最适合的类型。 我之前遇到过这种情况,令人气愤。

我强烈建议完全抛弃Jettison,并使用RestEasy Jackson支持 杰克逊是一个质量更好的图书馆,并没有遭受这些“有用”的功能。 它也像Jettison一样支持JAXB注释

具有在服务器启动时设置以下系统属性的列表器。

System.setProperty("jettison.mapped.typeconverter.class"
                  ,"org.codehaus.jettison.mapped.SimpleConverter");

一旦属性设置为simpleConverter则jettison将值始终作为字符串输出,无论数据类型是字符串还是int都无关紧要。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM