我有两个不同的程序-一个序列化数据并将其保存到一个本地文件,另一个程序加载数据并使用它。问题是反序列化不起作用--无论我如何序列化/反序列化数据,都不能重构它所使用的相同的结构。
编辑:问题,特别是从文件中加载序列化操作的结果。
Edit2:我得到的异常是线程"main“中的异常java.lang.ClassCastException: java.util.ArrayList不能转换为myImage
我使用深度序列化,如您在这里所看到的:
ArrayList<ArrayList<Images>> data;
...filling the data object with my data...
String serialized = new JSONSerializer().exclude("*.class")
.deepSerialize(data);serealize的输出如下所示:
[
[
{"datetaken":"date-time","filePath":"a-file-path","folderPath":"a-folder-path","meta1":"val1","meta2":"val2"}
]
[
{more..},
{more..}
]
]对于反序列化,我使用:
ArrayList<ArrayList<TrimmedImageData>> data;
...some initializing code...
data = (ArrayList<List<Images>>) new JSONDeserializer<ArrayList<List<Images>>>()
.use("value.values", myImage.class)
.deserialize(new BufferedReader(new FileReader(
resultsFile)));发布于 2014-03-02 22:08:15
我的问题有两件事:
尝试{ List res = Files.readAllLines(Paths.get(myObject),StandardCharsets.UTF_8);StringBuilder anotherTest =新StringBuilder();for(String str : res) { anotherTest.append(str);} serializedString = anotherTest.toString();} catch (IOException e) {e.printStackTrace()};
https://stackoverflow.com/questions/22130979
复制相似问题