Java JSONArray无法正确使用gwt测试UTIL
下面的代码Java JSONArray无法正确使用gwt测试UTIL,java,gwt,gwt-test-utils,Java,Gwt,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.creat
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测试UTIL运行时,将打印“0”而不是预期的“1”。查看gwt测试utils中的JSONArrayPatcher
,似乎完全忽略了给构造函数的值
有没有办法让这些行打印“1”?也许有一种方法可以修补
JSONArray
的构造函数?JSONArray
与JsArrayMixed
无关JSONArray
是org.json.JSONArray
和jsarraymix
是com.google.gwt.core.client.jsarraymix
类型的gwt客户端对象。它们完全来自不同的类层次结构,因此它们不仅仅相互理解
JSONArray
如果您使用JSONObject
实例或另一个JSONArray
构建它,它可能会工作
你必须发明另一种方法来构造你的混合对象
我的资料来源: [1]
[2] 也许它们都知道什么是JSON,并且都处理JSON中的数据,但是,其他选项可以是二进制的,并且每个二进制对象也不都相互理解。谢谢您的回答!但是我使用的是
com.google.gwt.json.client.JSONArray
而不是org.json.JSONArray
。我编辑了我的问题以澄清这一点。