1. 程式人生 > >Json資料 傳遞方式

Json資料 傳遞方式

json除了可以用於前臺傳遞,還可用於後臺之間傳遞。它可以傳遞List,Map,Bean等型別的資料。

例如:          User u1=new User();

          u1.setUsername("zy");
          u1.setPassword("123");
          User u2=new User();
          u2.setUsername("msl");
          u2.setPassword("456"); 
          List list = new ArrayList();  //把兩個物件放進list中
          list.add(u1); 
          list.add(u2);     
          
          JSONArray jsonArray = JSONArray.fromObject( list );     //把list放進json陣列          Map map = new HashMap();
          map.put("message", "111");  
          map.put("users", jsonArray);   //把json陣列做為一個值放進Map中          JSONObject jsonObject = JSONObject.fromObject(map);   //
把map放進json物件中          PrintWriter out = response.getWriter();
          out.print(jsonObject);  // 傳遞json

   傳遞的json格式為: {"message":"111","users":[{"password":"123","username":"zy"},{"password":"456","username":"msl"}]}

         在接收端的java檔案中取:

         returnJson是從輸入流中得到的json格式的字串。輸出為:

       {"message":"111","users":[{"password":"123","username":"zy"},   {"password":"456","username":"msl"}]}

 if(returnJson !=null&& returnJson !=""){

                 
            String strJson = returnJson.replace("?(", "").replace(")", "").replace(";", "");
                 
            if(strJson.startsWith("{")){
                 
            JSONObject jsonObject = JSONObject.fromObject(strJson);
                JSONArray jsonArray = JSONArray.fromObject(jsonObject.get("users"));
                              
             for (int i = 0, len = jsonArray.size(); i < len; i++) {
     
                JSONObject jsonUser = jsonArray.getJSONObject(i);
                User vo = (User)JSONObject.toBean(jsonUser, User.class);
                System.out.println(vo.getUsername()+":"+vo.getPassword());
               }
 
             }                 
          }