不是我所闻
2016-06-27 01:35
采纳率: 59.1%
浏览 1.9k
已采纳

springmvc json返回死循环

错误描述:两个多对多的实体,他们没有关联的时候,返回没有问题,当关联后,返回第一个实体(已json返回),报死循环错误。

控制器代码:

    // 输入框的模糊匹配
    @ResponseBody
    @RequestMapping("/inputFuzzyQuery")
    public List<School> inputFuzzyQuery(String keyword) {
        List<School> schs = schoolService.fuzzyQueryMaxFive(keyword);//schs有数据
        for (School sch : schs) {
            System.out.println(sch.toString());
        }
        return schs;
    }

错误信息

 at org.codehaus.jackson.map.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:150)
    at org.codehaus.jackson.map.ser.BeanSerializer.serialize(BeanSerializer.java:112)
    at org.codehaus.jackson.map.ser.std.CollectionSerializer.serializeContents(CollectionSerializer.java:72)
    at org.codehaus.jackson.map.ser.std.CollectionSerializer.serializeContents(CollectionSerializer.java:23)
    at org.codehaus.jackson.map.ser.std.AsArraySerializerBase.serialize(AsArraySerializerBase.java:86)
    at org.codehaus.jackson.map.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:446)
    at org.codehaus.jackson.map.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:150)
    at org.codehaus.jackson.map.ser.BeanSerializer.serialize(BeanSerializer.java:112)
    at org.codehaus.jackson.map.ser.std.CollectionSerializer.serializeContents(CollectionSerializer.java:72)
    at org.codehaus.jackson.map.ser.std.CollectionSerializer.serializeContents(CollectionSerializer.java:23)
    at org.codehaus.jackson.map.ser.std.AsArraySerializerBase.serialize(AsArraySerializerBase.java:86)
    at org.codehaus.jackson.map.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:446)
    at org.codehaus.jackson.map.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:150)
    at org.codehaus.jackson.map.ser.BeanSerializer.serialize(BeanSerializer.java:112)
    at org.codehaus.jackson.map.ser.std.CollectionSerializer.serializeContents(CollectionSerializer.java:72)
    at org.codehaus.jackson.map.ser.std.CollectionSerializer.serializeContents(CollectionSerializer.java:23)
    at org.codehaus.jackson.map.ser.std.AsArraySerializerBase.serialize(AsArraySerializerBase.java:86)
    at org.codehaus.jackson.map.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:446)
    at org.codehaus.jackson.map.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:150)
    at org.codehaus.jackson.map.ser.BeanSerializer.serialize(BeanSerializer.java:112)
  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • _1_1_7_ 2016-06-27 02:39
    已采纳

    是不是你的对象之间有相互引用,或者循环引用,导致一个死环

    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • 轻哼一首歌 2016-06-27 01:46
    for 换成这个试试
    
    if(int i = 0 ; i< schs.size() ; i++){
        System.out.println(schs.get(i).toString())
    }
    
    评论
    解决 无用
    打赏 举报
  • nihao54123 2016-06-27 02:50

    在你的School类上面加上这个@JsonIgnoreProperties(value={"sch"}),试试看还报错吗

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题