GWT Overlay Tpes检查为null

时间:2011-08-03 07:10:15

标签: gwt types overlay

我正在使用GWT覆盖类型从Web服务器解析我的JSON响应。一切正常,问题是,如果必填字段不存在:

例如: JavaScriupt覆盖类型类

public class JSWorkplace extends JavaScriptObject{    
protected JSWorkplace() {        
}
public final native String getWidgets() /*-{
    return this.Widgets;
}-*/;

现在,如果我有类似{“Widgets”:“Bla”}之类的东西来自服务器一切正常,getWidgets返回“Bla”。 如果这个“{}”来自服务器,我的应用程序将引入gwtWidgets函数。如何在阅读之前检查“Widgets”字段是否存在。

此致 斯蒂芬

1 个答案:

答案 0 :(得分:0)

您可以检查它是否未定义,例如:this.Widgets == undefined。 我个人更喜欢在eval()之后设置默认值。例如,为了创建JSWorkplace对象,我将调用这样的方法:

public static native JSWorkspace createFromJSON(String json)/*-{
  var object = eval('(' + json + ')');
  if (object.Widgets == undefined) { object.Widgets = []; }

  ...

  return object;
}*-/;