GWT - JavaScript重叠类型和JSON

Ste*_*fan 1 gwt types overlay

我是谷歌Codeing基础(http://code.google.com/intl/de-DE/webtoolkit/doc/latest/DevGuideCodingBasicsOverlay.html#example-collections),心想:嘿,这可能是方式更快和更容易使用比手动扫描我的JSON对象.

所以我玩了这个例子并注意到它在HTML文件中定义JsArray时工作正常,但我找不到将String或Url传递给函数的解决方案,它返回了一个Overlay Type.

所以我想做的是:

我有这个功能

    private native Customer getFirstCustomer(/*TYPE (preferd String)*/ name) /*-{
    return (CASTVALUE TO ???) name; 
}-*/;
Run Code Online (Sandbox Code Playgroud)

我通过了

{"FirstName": "Jimmy"}
Run Code Online (Sandbox Code Playgroud)

作为String,它返回一个像这样的Java对象:

    import com.google.gwt.core.client.JavaScriptObject;
    class Customer extends JavaScriptObject {
      protected Customer() { }
      public final native String getFirstName() /*-{ return this.FirstName; }-*/;
    }
Run Code Online (Sandbox Code Playgroud)

这可能吗?

最好的问候,Stefan

Tho*_*yer 6

请不要eval()盲目地做任何事情!(安全101)

请改用GWT的JsonUtils:它将在支持它的浏览器中使用原生JSON支持(更快更安全eval()),并eval()在其他人(即IE6,IE7和旧版Safaris -pre 4.0.3- )之前验证JSON .所有其他没有本机JSON的浏览器版本现在已经死了):

Customer customer = JsonUtils.safeEval(jsonString);
Run Code Online (Sandbox Code Playgroud)