나는 Gson을 사용하여 Object 데이터를 저장하는 안드로이드 애플리케이션을 만들고 있습니다. GSON의 toJson()
방법을 사용하는 경우 Gson을 사용할 때 순환 참조를 얻는 방법?
private long id;
private String goalName;
private boolean isMainGoal;
private Goal upperLevelGoal;
private Goal mainGoal;
private ArrayList<Goal> subGoals;
private int goalLevel;
private String textViewSubGoalLine;
private ArrayList<UrlComplex> sitesWithinGoal;
, 나는이
StackOverflowError
를 얻을 : 나는 다음과 같은 속성을 가지고있는 사용하고 유형
Goal
있습니다. 내가 읽은 바로는 Gson이 순환 참조를 처리 할 수 없기 때문입니다. 즉, 내
Goal
또는
ArrayList<Goal>
속성에
toJson()
을 수행 할 수 없습니다.
나는이 문제를 해결하기 위해 어떻게 든 TypeToken을 사용할 수 있음을 알고 있습니다. (gson.toJson() throws StackOverflowError) 그러나 설명서 (http://google-gson.googlecode.com/svn/tags/1.1.1/docs/javadocs/com/google/gson/reflect/TypeToken.html)를 읽었으므로 어떻게 사용했는지 이해할 수 없습니다.
Gson을 통해 JSON에 정보를 저장할 수 있도록 순환 참조를 사용하는 방법을 아는 사람이 있습니까?