JSONArray不能正常使用gwt-test-utils



以下代码

import com.google.gwt.core.client.JavaScriptObject;
import com.google.gwt.core.client.JsArrayMixed;
import com.google.gwt.json.client.JSONArray;
import com.google.gwt.json.client.JSONString;
[...]
JsArrayMixed jsArray = JavaScriptObject.createArray().cast();
jsArray.push("something");    
JSONArray jsonArray = new JSONArray(jsArray);    
System.out.println(jsonArray.size());
当使用gwt-test-utils运行时,

将打印"0"而不是预期的"1"。查看gwt-test-utils中的JSONArrayPatcher,似乎给构造函数的值被完全忽略了。

是否有办法使这些行打印"1"?也许有办法修补JSONArray的构造函数?

JSONArrayJsArrayMixed无关。JSONArrayorg.json.JSONArray, JsArrayMixedcom.google.gwt.core.client.JsArrayMixed类型的gwt客户端对象。它们是如此完全来自不同的类层次结构,以至于它们不能相互理解。

如果你用JSONObject实例或另一个JSONArray实例来构造它,JSONArray可能会工作。

你必须发明另一种方法来构造你的混合对象。


我来源:

[1] http://www.json.org/javadoc/org/json/JSONArray.html
[2] http://srcrr.com/java/google/gwt/2.2/reference/com/google/gwt/core/client/JsArrayMixed.html

相关内容

  • 没有找到相关文章

最新更新