我用Jersey构建了一个REST应用程序,但没有成功地从JAXB中获得自然的注释。我只是修改了我的GWT应用程序,以将错误传输的类型转换为我想要的类型。我知道,这不是最好的解决方案,但是没有时间再做别的事情了。

现在,我尝试在App Engine上设置云终结点,并获得与Google在其示例中未显示的完全相同的格式,我怀疑关于GAE我缺少一些东西。

这是我想要从GAE获得的:

{
"anumberprop":123,
"atextprop":"blah",
"anarray":[{"another_no":432}]
}


这是我实际上得到的:

{
"anumberprop":"123",
"atextprop":"blah",
"anarray":{"another_no":"432"}
}


这会导致问题,因为客户端将是内部解析JSON的GWT应用或Google Apps脚本,并且当类型不匹配时,这将产生很多异常。

我究竟做错了什么?

最好的祝福,
彼得

最佳答案

432与“ 432”之所以可能是因为Cloud Endpoints引用了64位整数,因此JavaScript客户端可以使用标准的JSON解析器而不会丢失这些数字的精度。我无法重现丢失的数组括号。您可以发布响应对象吗?

10-06 08:31