在 GWT 中,我的代码中有一个 JsArray
public List<JSONObject> getData() {
LinkedList<JSONObject> list = new LinkedList<JSONObject>();
for (int i = 0; i < data.length(); ++i) {
list.add(new JSONObject(data.get(i)));
}
return list;
}
我是不是运气太差了?或者是否有一种很好的快速方法来介于这两种类型之间?
(返回一个 JSONArray 值也许也可以……但是实现 List 接口(interface)的东西很好)。
最佳答案
之所以不能轻易地将 JsArray
转换为 List
接口(interface)的任何 Java 实现,是因为 JsArray
只是一个包装器一个很好的 ol' JavaScript 数组。这允许对其进行一些非常快速的操作(因为 JSON 是 JS 的一部分),但代价是与其余的“Java”代码不“兼容”。所以你必须问问自己速度是否是一个重要因素,如果你转换成“Java”列表(当然,它在内部只是一个 JS 数组)你会损失多少。
AFAIR,对于这种情况,我还没有找到任何优雅的解决方案 - 但就我而言,我立即使用 JsArray 对象来创建 POJO 并进一步传递它们。
关于java - 在 GWT 中从 JsArray<JavaScriptObject> 转换为 List<JSONObject>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3125095/