Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何从AppEngine获取自然json符号?_Java_Json_Google App Engine_Rest_Google Cloud Endpoints - Fatal编程技术网

Java 如何从AppEngine获取自然json符号?

Java 如何从AppEngine获取自然json符号?,java,json,google-app-engine,rest,google-cloud-endpoints,Java,Json,Google App Engine,Rest,Google Cloud Endpoints,我用Jersey构建了一个REST应用程序,但没有成功地从JAXB中获得自然符号。我只是修改了GWT应用程序,将错误传输的类型转换为我想要的类型。我知道,这不是最好的解决办法,但没有时间做其他事情 现在,我尝试在AppEngine上设置云端点,并获得与google在其示例中显示的格式完全相同的格式,我怀疑关于GAE,我遗漏了一些东西 这就是我想从GAE得到的: { "anumberprop":123, "atextprop":"blah", "anarray":[{"another_no":43

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

现在,我尝试在AppEngine上设置云端点,并获得与google在其示例中显示的格式完全相同的格式,我怀疑关于GAE,我遗漏了一些东西

这就是我想从GAE得到的:

{
"anumberprop":123,
"atextprop":"blah",
"anarray":[{"another_no":432}]
}
这就是我实际得到的:

{
"anumberprop":"123",
"atextprop":"blah",
"anarray":{"another_no":"432"}
}
这会导致问题,因为客户端将是一个GWT应用程序或一个在内部解析JSON的Google应用程序脚本,当类型不匹配时,会出现很多异常

我做错了什么

致以最良好的祝愿,
Peter

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

谢谢saiyr,你说得对。我使用的数字是一个长变量。使用int给出了我所期望的结果。另外,括号是我希望它们与云端点在一起的地方。然而,上述问题仍然适用于使用Jersey的REST服务。知道在这种情况下如何控制JSON符号是很有趣的。对不起,我不太清楚你现在问的是什么(我不熟悉Jersey)。我的印象是,您从端点获得了不正确的输出,因为“anarray”的值实际上不是数组。不是这样吗?当使用Jersey时,它默认为“映射”JSON表示法,其中所有类型都作为字符串发送,如果数组只包含单个对象,则发送时不带方括号。由于云端点的行为似乎正确,我想知道是否有人知道如何配置AppEngine,在使用Jersey时提供自然的JSON符号。