我有一个存储 Long 值和 JSONArray 的类。
Class SomeClass {
private Long longValue;
private JSONArray jsonArray;
//Default and parameterised constructors.
//Getters and Setters.
}
我将这些值存储在 NavigableMap<?, SomeClass> 中。? - 字符串/长。我从 MapDB 得到一个 treeMap 如下:
private DB mapDB = MapDBUtil.getMapDB(); //Opening or creating and getting MapDB DB object
NavigableMap<Long,SomeClass> treeMap = mapDB.treeMap(treeName).keySerializer(Serializer.LONG).valueSerializer(Serializer.ELSA).createOrOpen();
当我尝试为获得的地图添加一些价值时,请说:
SomeClass instance = new SomeClass("Hello", jsonArray);
treeMap.put("test", instance);
我得到org.mapdb.DBException$SerializationError。我认为这个问题是由于序列化 JSONArray 造成的。我想实现自定义序列化程序或使用其他方式来序列化和存储这些数据。我尝试在“SomeClass”中实现 Serializable 和 ElsaSerializer ,但这两个似乎都不起作用。我也尝试在实现 Serializable 接口时使用Serializer.JAVA,但这也不起作用。我不确定我做错了什么。任何帮助将非常感激。