【问题标题】:Flex deserialization issue with List of Maps地图列表的 Flex 反序列化问题
【发布时间】:2012-04-16 09:43:29
【问题描述】:

我在使用 BlazeDS 到 Flex 移动反序列化时遇到问题,因此我尝试在每个地图中发回带有不同对象的地图列表 List<Map<String, Object>>,但是当我在 flex 代码中收到此列表时:

hastalarim  = event.result as ArrayCollection;

但是当我在 flex 代码中调试它时,我发现该列表中有 7 个相同对象的实例(插入到服务器端的第一个对象)。

这是我在服务器端的方法:

public List<Map<String, Object>> getHastalarim(String personelId, String servisId) {

        List hastalar =  karDAO.getHastalarim(personelId,servisId);

        Map<String, Object> mp = new HashMap<String, Object>();
        List<Map<String, Object>> lst = new ArrayList<Map<String,Object>>();

        for (int i = 0; i < hastalar.size(); i++) {
            Object[] obj = (Object[]) hastalar.get(i);

            mp.clear();

            mp.put("hastaId", (String) obj[0]);
            mp.put("adi",(String) obj[1]);
            mp.put("soyadi", (String) obj[2]);
            mp.put("tckimlikNo", (String) obj[3]);
            mp.put("yasi", (Integer) obj[4]);
            mp.put("vizitTar", obj[5].toString());          
            mp.put("vizitId", (String) obj[6]);
            mp.put("cinsiyeti", (String) obj[7]);
            mp.put("resim", getHastaResim((String) obj[3]));

            lst.add(mp);

            }
            return lst;
}

这里有什么问题?有什么建议吗?

【问题讨论】:

    标签: apache-flex flex4 flex4.5 blazeds flex-mobile


    【解决方案1】:
          for (int i = 0; i < hastalar.size(); i++) {
                Object[] obj = (Object[]) hastalar.get(i);
    
                Map<String, Object> mp = new HashMap<String, Object>();
    
    
                mp.put("hastaId", (String) obj[0]);
                mp.put("adi",(String) obj[1]);
                mp.put("soyadi", (String) obj[2]);
                mp.put("tckimlikNo", (String) obj[3]);
                mp.put("yasi", (Integer) obj[4]);
                mp.put("vizitTar", obj[5].toString());          
                mp.put("vizitId", (String) obj[6]);
                mp.put("cinsiyeti", (String) obj[7]);
                mp.put("resim", getHastaResim((String) obj[3]));
    
                lst.add(mp);
    
                }
                return lst;
           }
    

    创建导致问题的地图的多个实例。

    【讨论】:

      猜你喜欢
      • 2017-11-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-25
      • 2011-04-05
      相关资源
      最近更新 更多