2015-01-13 3 views
2

웹 프로젝트에 문제가 있습니다. 나는 잭슨을 사용하고 있으며 직렬화에 문제가있다. 내가 페이지로 돌아 해시 맵을 반환 할 때이 오류 메시지입니다 :잭슨 및 직렬화

at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:644) 
at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:152) 
at com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:541) 
at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:644) 
at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:152) 
at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serializeContents(IndexedListSerializer.java:100) 
at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serializeContents(IndexedListSerializer.java:21) 
at com.fasterxml.jackson.databind.ser.std.AsArraySerializerBase.serialize(AsArraySerializerBase.java:183) 
at com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:541) 
at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:644) 
at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:152) 

내 콩의 직렬화 구현은 그것은 빈 생성자, getter 및 setter가 있습니다.

+1

예외 메시지 맨 위가 누락되었습니다. 받은 전체 예외 스택 추적을 추가 할 수 있습니까? –

+0

com.fasterxml.jackson.databind.JsonMappingException : 참조 체인을 통해 무한 재귀 (StackOverflowError) : beans.Kategorija [ "podkategorija"] -> beans.Kategorija [ "podkategorije"] -> java.util.ArrayList [0] - > 콩. – Alextyler

+0

@JsonIgnore가 해결했습니다. – Alextyler

답변

0

아마도 자식 개체가 있고 해당 요소 중 하나에 부모 개체가 들어 있기 때문에 jackson이 자식 개체를 serialize하려고 시도하고 있으므로 다시 serialize 된 부모를 만들면 부모가 다시 serialize 된 자식을 만들게됩니다 , 그리고 자식은 직렬화 된 부모를 다시 발생시킬 것이므로 jacokson을위한 결코 끝나지 않는 루프가 될 것이다.