나는 간단한 클래스 다음과 같은 코드를 작성하는 방법 다음 읽기가 :잭슨 벡터 직렬화 예외
ObjectMapper mapper = new ObjectMapper();
try{
DataStore testOut = new DataStore();
DataStore.Checklist ch1 = testOut.addChecklist();
ch1.SetTitle("Checklist1");
String output = mapper.writeValueAsString(testOut);
JsonNode rootNode = mapper.readValue(output, JsonNode.class);
Map<String,Object> userData = mapper.readValue(output, Map.class);
}
public class DataStore {
public static class Checklist
{
public Checklist()
{
}
private String _title;
public String GetTitle()
{
return _title;
}
public void SetTitle(String title)
{
_title = title;
}
}
//Checklists
private Vector<Checklist> _checklists = new Vector<Checklist>();
public Checklist addChecklist()
{
Checklist ch = new Checklist();
ch.SetTitle("New Checklist");
_checklists.add(ch);
return ch;
}
public Vector<Checklist> getChecklists()
{
return _checklists;
}
public void setChecklists(Vector<Checklist> checklists)
{
_checklists = checklists;
}
}
라인 : 문자열 출력 = mapper.writeValueAsString (testOut); 은 나를 몇 시간 동안 당혹스럽게 만들었고 이것을 사용하여 버리려는 예외를 초래합니다. 힌트를 보내 주시면 감사하겠습니다.
여기는 예외입니다 : 클래스 데이터 저장소 $ 체크리스트에 대한 찾을 수 없습니다 시리얼 라이저와 어떤 속성 (SerializationConfig.Feature.FAIL_ON_EMPTY_BEANS을 사용하지 않도록 예외를 피하기 위해)) (참조 체인을 통해 BeanSerializer을 만들 발견되지 : 데이터 저장소를 [ "체크리스트"] - > java.util.Vector [0])
Jackson의 지형지 물을 비활성화하여 예외를 제거 할 수 있었지만 아직 데이터를 쓰지 않았습니다. – wandercoder
오류 메시지가 분명하지 않습니까? Jackson은 표준 Bean 내성 메커니즘을 사용하여 특성을 찾을 수 없습니다. 이것이 바로 당신이 해결해야 할 것입니다. – StaxMan