在数据量较少的时候,Gson的性能最优;数据量较大时Jackson性能最优。
序列化与反序列化
序列化:把Java对象转换为字节序列的过程。
反序列化:把字节序列恢复为Java对象的过程。
对象的序列化主要有两种用途:
持久化对象:把对象的字节序列永久地保存到硬盘上,通常存放在一个文件中;
网络传输对象:在网络上传送对象的字节序列。
反序列化(Jackson):
InputStream inputStream = getClass().getClassLoader().getResourceAsStream(filePath + "/" + fileName);
String content = IOUtils.toString(inputStream, StandardCharsets.UTF_8);
List<ContractQuery> query = new ObjectMapper().readValue(content, new TypeReference<List<ContractQuery>>(){});
反序列化(Gson)
BufferedReader reader = new BufferedReader(new InputStreamReader(this.getClass().getResourceAsStream(filePath + "/" + fileName)));
List<ContractQuery> list = gson.fromJson(reader, new TypeToken<List<ContractQuery>>(){}.getType());