java - 无法在 GWT 中将 JSON 字符串解析为 Java/JavaScriptObject

标签 java json gwt gxt

我从服务器接收 JSON 格式的数据,并使用 JsonUtils (GWT) 进行解析。它们看起来像这样:

[{"id":26,"name":"Circle1","description":"Test","type":"CIRCLE","coordinates":[{"latitude":50.364736755649716,"longitude":30.120391845703125}],"radius":6577.427847903551,"userId":1}]

我用这段代码来解析它:

JsArray<Geofence> geofenceJsArray = JsonUtils.safeEval(response.getText());

但我无法访问坐标列表。当我打电话时

geofenceJsArray.get(0).getCoordinates().size()

我在浏览器控制台中收到此错误消息:

Uncaught TypeError: $getCoordinates_1_g$(...).size_54_g$ is not a function

我做错了什么?提前致谢!

最佳答案

(来 self 对 Generator threw an exception while rebinding 的回答,您在其中发布了一些来源:)

JavaScriptObject 的属性不能是非 JavaScript 类型。 GWT 生成的数组几乎看起来像 js 数组,但会缺少重要的类型细节,并且 java.util.List 根本不起作用 - JS 会很高兴地假装它会起作用,并返回一个JS 数组,它有一个名为 length属性 ,但没有名为 size方法 .

相反,请更改您的 getCoordinates返回JsArray<Coordinate>

关于java - 无法在 GWT 中将 JSON 字符串解析为 Java/JavaScriptObject,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37589793/

相关文章:

Java:在if语句之后从另一个调用构造函数

Java - ArrayList - 访问对象字段

java - Java Applet 中的 AccessControlException

php - 使用 PHP 将目录结构(字符串)解析为 JSON

json - jackson 反序列化自定义 boolean json 属性

Java 如何在构造函数中将接口(interface)作为参数传递?

java - java对象初始化的最佳实践

java - 从网页解析 JSON 文件并将值存储在二维数组中

java - 如何在 GWT 中测试生成器?

gwt - 有人如何从 ant 运行 RequestFactory 验证工具?