日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

flex與java間用json傳輸數(shù)據(jù)

 hehffyy 2011-01-11
flex與java間用json傳輸數(shù)據(jù)


1.從java到flex,將一個(gè)map或?qū)ο?自定義對象轉(zhuǎn)為String,這里用HttpServlet

java端
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

   response.setContentType("text/html");
   PrintWriter out = response.getWriter();
  
   Map map = new HashMap<String, Object>();
   map.put("name", "wxj");
   map.put("age", 20);
   map.put("tall", "163");
  
   //將一個(gè)map轉(zhuǎn)換為一個(gè)JSON對象
   JSONObject object = JSONObject.fromObject(map);
   System.out.println("json object: " + object);
  
   out.println(object);
   out.flush();
   out.close();
  
}

flex端
<mx:HTTPService id="testjson" url="http://localhost:8080/fsh2/servlet/TestJsonServlet" method="POST" result="jsonResult(event)"/>
public function jsonResult(event:ResultEvent):void{
     var person:Object = JSON.decode(testjson.lastResult.toString());
     json1.text = person.name + "," + person.age + "," + person.tall;
    
}

2.從java到flex,將一個(gè)map或自定義對象轉(zhuǎn)為String,這里用RemoteObject

java端
/**
* 將一個(gè)map或?qū)ο筠D(zhuǎn)為String
* @param id
* @return
*/
public String getUser(int id){
   Map map = new HashMap<String, Object>();
   if(id == 1){
    map.put("name", "wxj");
    map.put("age", 20);
    map.put("tall", "163");
    return JSONObject.fromObject(map).toString();
   }else {
    User user = new User();
    user.setId(100);
    user.setUserName("中國");
    user.setPwd("哈哈...");
    return JSONObject.fromObject(user).toString();
   }
  
flex端
<mx:RemoteObject id="userRO" destination="UserServer" >
   <mx:method name="getUser" result="userResult(event)"/>
</mx:RemoteObject>
   public function userResult(event:ResultEvent):void{
     var person:Object = JSON.decode(event.result.toString());
     json2.text = person.id + "," + person.userName + "," + person.pwd;
   }
  
3.從java到flex,將一個(gè)List轉(zhuǎn)換為String,這里用RemoteObject

java端
/**
* 將一個(gè)List轉(zhuǎn)換為String返回
* @return
*/
public String getUsers(){
   List<User> userList = new ArrayList<User>();
  
   User user1 = new User();
   user1.setId(1);
   user1.setUserName("wxj");
   user1.setPwd("wxj1111");
   userList.add(user1);
  
   User user2 = new User();
   user2.setId(1);
   user2.setUserName("zs");
   user2.setPwd("zs23222");
   userList.add(user2);
  
   User user3 = new User();
   user3.setId(1);
   user3.setUserName("ls");
   user3.setPwd("lisi12312");
   userList.add(user3);
  
   return JSONArray.fromObject(userList).toString();
}

flex端
<mx:RemoteObject id="userRO" destination="UserServer" >
   <mx:method name="getUsers" result="usersResult(event)"/>
</mx:RemoteObject>
public function usersResult(event:ResultEvent):void{
       //先轉(zhuǎn)換為數(shù)組
     var acc:Array = JSON.decode(event.result.toString()) as Array;
     //dg是一個(gè)DataGrid
     dg.dataProvider = new ArrayCollection(acc);
}
   
   
4.從flex到j(luò)ava
flex端
<mx:RemoteObject id="userRO" destination="UserServer" >
   <mx:method name="addUser" result="addUserResult(event)"/>
</mx:RemoteObject>
    /**
    * 添加用戶
    */ 
    public function addUser():void{
     var user:Object = {};
     user.userName = userName.text;
     user.pwd = pwd.text;
     var json:String = JSON.encode(user);
     userRO.addUser(json);
    }
   
    /**
    *用戶列表
    */
    public function addUserResult(event:ResultEvent):void{
     dg2.dataProvider = new ArrayCollection(JSON.decode(event.result.toString()) as Array);
    }
   
    java端
   /**
    * 添加用戶
    */
    public String addUser(String json){
      JSONObject data = JSONObject.fromObject(json);
      User user = (User)JSONObject.toBean(data, User.class);
      //System.out.println(data.get("userName"));
      //System.out.println(data.get("pwd"));
      List<User> userList = new ArrayList<User>();
      user.setId(10);
      userList.add(user);
      return JSONArray.fromObject(userList).toString();
    }

    本站是提供個(gè)人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多