4

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

4

2 回答 2

4

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

我强烈建议完全放弃 Jettison,而使用RestEasy Jackson 支持Jackson是一个质量更好的库,并且不受这些“有用”功能的影响。它还支持 JAXB 注释,就像 Jettison 一样。

于 2011-01-20T22:18:31.450 回答
0

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

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

一旦将属性设置为simpleConverter然后丢弃输出值总是作为字符串无论数据类型是字符串还是 int 都无关紧要。

于 2013-05-23T13:00:10.410 回答