我有一個簡單的類下面的代碼和用於寫入的方法,然後讀取:傑克遜矢量序列化異常
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); 導致了一個讓我困惑了幾個小時並且完全放棄使用它的異常。 任何提示表示讚賞。
這裏是個例外: 沒有找到串行類的DataStore $清單和沒有屬性發現(避免異常,禁用SerializationConfig.Feature.FAIL_ON_EMPTY_BEANS))(通過引用鏈創造BeanSerializer:數據存儲[「清單」 - > java.util.Vector [0])
我已經能夠通過在傑克遜禁用功能來刪除異常,但我仍然沒有得到任何數據寫出。 – wandercoder 2012-01-16 23:53:19
錯誤信息相當清楚是不是?傑克遜使用標準的Bean內省機制找不到任何屬性。所以這就是你需要解決的問題。 – StaxMan 2012-01-18 05:28:44