将大型本地gson与远程gson进行比较

时间:2013-02-16 00:50:30

标签: android hash compare gson

当发送大型pojo时,我想检查字节变化而不是结构中的细节差异。也许在内存中序列化并散列pojo但在Android设备上可能会失败。任何想法都会感激不尽。是不是可以追溯它的风格。

OUT

outputStreamWriter = new OutputStreamWriter( out, "UTF-8");
jsonWriter = new JsonWriter(outputStreamWriter);
jsonWriter.setIndent("  ");
jsonWriter.setIndent("\t"); 
jsonWriter. beginArray();
mygson.toJson( largeTestPojo, LargeTestPojo.class, jsonWriter );
jsonWriter.endArray();
jsonWriter.flush();

IN

InputStreamReader isr = new InputStreamReader( in, "UTF-8");
StatsTypeAdapterFactory stats = new StatsTypeAdapterFactory();
Gson gson = new GsonBuilder().registerTypeAdapterFactory(stats).create();
jsonReader = new JsonReader( isr );
jsonReader. beginArray();
largeTestPojo= gson.fromJson( jsonReader, LargeTestPojo.class );
jsonReader.endArray();

1 个答案:

答案 0 :(得分:0)

  

我想检查字节更改而不是结构中的详细差异

我不确定这意味着什么。

  

将大型本地gson与远程gson进行比较

我不清楚在何处进行比较,是否要在同一个地方提供完整的输入和输出内容,或者如果使用哈希(如上所述)之类的东西来表示一端或另一端。

如果比较点有完整的输入和输出结构,那么......

我可能不会将Gson API(或任何序列化API)用于数据结构(或服务消息)值比较的任务。我更喜欢像Gson这样的序列化API用于序列化/反序列化任务,保持系统的这些层尽可能简单和简单。

所以,我可能更喜欢反序列化到目标LargeTestPojo,并为其实现compareTo和/或equals方法,或者只是将两个数据集放入地图,并从那里进行比较。