JSONArray没有正确使用gwt-test-utils

时间:2014-07-07 14:23:28

标签: 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.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的构造函数?

1 个答案:

答案 0 :(得分:0)

JSONArrayJsArrayMixed无关。 JSONArrayorg.json.JSONArrayJsArrayMixedcom.google.gwt.core.client.JsArrayMixed类型的gwt客户端对象。这些是完全来自不同的阶级层次结构,他们不仅仅是相互理解。

JSONArray如果您使用JSONObject个实例或其他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