簡體   English   中英

如何在GWT中使用3party json服務

[英]How to consume 3party json services in GWT

我正在尋找GWT中訪問3party json rest服務並快速解析其響應的最佳方法。 其余服務提供了callback參數,他們給我們的示例使用的是jQuery.jsonp:

$.ajax({
  type: 'GET',
  url: 'http://server_name?id=and_id&callback=?',
  contentType: "application/json",
  dataType: 'jsonp',
  success: function(js) {/*{id='id',status='sold',prod_name='name',price=0.0 ...}*/},
  error: function(e) {}
});

盡管GWT帶有JsonpRequestBuilder來通過腳本標簽執行請求,並且AutoBeans可以處理json響應並生成Java實現,但由於其簡單性,我更喜歡gwtquery AjaxDataBinding

在您的情況下,您可能具有與提供程序提供的語法幾乎相同的語法:

  ajax("http://server_name?id=and_id&callback=?",
       $$("type:'get', dataType: 'jsonp'),
       new Function() {
        public void f() {
          Properties jso = getDataProperties();
          String status = jso.get("error");
        }
  });

如果您因為喜歡get / setter而喜歡使用構建器,則代碼可能如下所示:

  public static interface MResponse extends JsonBuilder {
    String getId();
    String getStatus();
    String getProd_name();
    double getPrice();
  }

  ajax(Ajax.createSettings()
           .setType("get")
           .setDataType("jsonp")
           .setUrl(""))
    .done(new Function() {
      public void f() {
        MResponse resp = GWT.<MResponse>create(MResponse.class)
                            .load(getDataProperties());
        String status = resp.getStatus();
      }
    });

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM