Джексон выбрасывает циклическое исключение? - PullRequest
1 голос
/ 02 февраля 2012

Джексон Обрабатывает / генерирует исключение Cyclic, например net.sf.json.JSONException: в иерархии есть цикл! , брошенный в json-lib, когда он обнаруживает цикл в объекте java, которыйбыть преобразованным в JSON.Если так, как мы можем справиться с этим.

Ошибка, выдаваемая в json-lib, выглядит следующим образом

    1169 SEVERE: Servlet.service() for servlet JSONControllerServletGZIP threw exception
    1170 net.sf.json.JSONException: There is a cycle in the hierarchy!
    1171     at net.sf.json.util.CycleDetectionStrategy$StrictCycleDetectionStrategy.handleRepeatedReferenceAsArray(CycleDetectionStra
    1172     at net.sf.json.JSONArray._fromCollection(JSONArray.java:749)
    1173     at net.sf.json.JSONArray.fromObject(JSONArray.java:165)
    1174     at net.sf.json.JSONObject._processValue(JSONObject.java:2132)
    1175     at net.sf.json.JSONObject._setInternal(JSONObject.java:2177)
    1176     at net.sf.json.JSONObject.setValue(JSONObject.java:1005)
    1177     at net.sf.json.JSONObject._fromMap(JSONObject.java:886)
    1178     at net.sf.json.JSONObject.fromObject(JSONObject.java:248)

Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 02 февраля 2012
0 голосов
/ 02 февраля 2012

Нет, Джексон не отслеживает циклические случаи, за исключением особого случая самообращения, который перехватывается. Как и предполагалось, в настоящее время лучшим способом решения этой проблемы является использование аннотаций, по крайней мере в тех случаях, когда у вас есть ссылка на родительский / дочерний стиль.

...