后台用的struts2,前台用的ajax。在数据库查询得到List,然后JSONArray.fromObject(list)转化。由于中间有好多表间关系,所以拿到的jsonArray有很多重复的,还有很多迭代的。在网上搜索说,Excludes去掉实体类可避免。的确去掉就避免了,但是我在前台还要展现出来该如何解决?例子:入库表字段:序号(主键),设备名称,购置日期,操作员(外键);用户表:用户id(主键),姓名。在前台展示时入库表的操作员user.name不能再显示了,因为user实体类除去了。

解决方案 »

  1.   

    新建一个包含展示字段的实体类,查询出list以后把要展示的字段放在这个实体类的list中,然后前台就可以用user.name这种方法取
      

  2.   

    新建一个实体bean,查询sql的时候,把前台要展示的数据,放入到实体bean中对应的属性。页面就可以通过这个实体bean去获取数据了。
      

  3.   

    用第三方的fastjson和jackjson试试?
      

  4.   

    return java.util.Map
      

  5.   

    转换成map合适返回就可以了
      

  6.   

    https://github.com/hellophil/phil_wechat/blob/master/src/main/java/com/phil/modules/util/JsonUtil.java
      

  7.   

    同样建议使用fastjson或者jackson,这两个库都比较简单易用,对大部分字段和多层继承 的序列化/反序列化做的很好,日期时间字段建议定义自己的 serializer / deserializer.