百度空间 | 百度首页 
 
查看文章
 
GWT json 和django通讯
2008-10-12 15:01

在用GWT开发一个小网站,界面用GWT开发,后台用Django (当然最好用java了,不过某些原因用python了 :-) 由于大部分数据都需要通过JSON向服务器索取,一个问题就出来了。如何将从服务器返回的JSON数据方便的转化到java 对象。

这类问题其实已经碰到过了,那时是在用c#写一个工具,如何将一个类方便的串行化到一个xml文件。GWT现在已经很强大了,但库本身还没有提供这种直接支持。看来可以参照c#的实现方式来实现一下这个功能。

不过在还是发现了一种替代实现方案。这归功于GWT1.5的新特性。see:

GWT 1.5 introduces JavaScript overlay types to make it easy to integrate entire families of JavaScript objects into your GWT project. There are many benefits of this technique, including the ability to use your Java IDE's code completion and refactoring capabilities even as you're working with untyped JavaScript objects.

写的一段代码用到了Overlay types.

class BucketInfo extends JavaScriptObject{
protected BucketInfo() {}

public final native String getName() /*-{ return this.name; }-*/;
public final native String getDesc()   /*-{ return this.name; }-*/;
}

public void onResponseReceived(Request request, Response response) {      
      if (200 == response.getStatusCode()) {
       GWT.log("200 response", null);

       JsArray<BucketInfo> buckets = getBuckets(response.getText());
       if (buckets != null) {
       } else {     
        // invalid Json data
       }

public native static final JsArray<BucketInfo> getBuckets(String jsonText) /*-{
   return eval('(' + jsonText + ')');
   }-*/;


类别:Programming Tip | 添加到搜藏 | 浏览() | 评论 (2)
 
最近读者:
 
网友评论:
1
2008-11-18 22:05 | 回复
GWT编码后的数据传到服务器,用django自带的simplejson解码出错..
 
2
2008-11-28 13:33 | 回复
这个问题解决了-_- 发现了一个simplejson code上的问题。GWT看起来好用,碰到的问题还真不少... 最近碰到一个GWT显示动态创建image的问题。
 
发表评论:
姓 名:
网址或邮箱: (选填)
内 容:
验证码: 请点击后输入四位验证码,字母不区分大小写
      

     

©2009 Baidu