解决方案 »

  1.   

    我记得以前 我用spring mvc @ResponseBody返回json的时候,需要配置返回的格式 application/json而且我对你用的@JsonIgnore 这个不怎么懂,为啥不得到数据直接Object——>json呢
      

  2.   

    你用的哪个json包?  fasterxml的还是codehaus
      

  3.   

    用的是前者<mvc:annotation-driven>
    <mvc:message-converters>
    <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter" />
    </mvc:message-converters>
    </mvc:annotation-driven>
    这样配置试下, 我以前有个类似的情况是因为项目中有两套json序列化包,  两套包的注解及方法都是一样。 很容易搞错
      

  4.   

    问题解决了,我把需要在前台显示的字段添加在javabean中,然后在业务层中读取相应的对象并对其赋值,再在控制层把javabean中外键关联的对象进行屏蔽后再进行json转换,最后向前台输出json字符串就可以了,下面是我进行json转换的代码:

    JsonConfig jsonConfig = new JsonConfig();
    jsonConfig.setIgnoreDefaultExcludes(false);
    jsonConfig.setExcludes(new String[]{"user","know"});
    JSONObject jGridVo = JSONObject.fromObject(gridVo,jsonConfig);  
    String jsonstr = jGridVo.toString();
    response.getWriter().write(jsonstr);