当发送大型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();
答案 0 :(得分:0)
我想检查字节更改而不是结构中的详细差异
我不确定这意味着什么。
将大型本地gson与远程gson进行比较
我不清楚在何处进行比较,是否要在同一个地方提供完整的输入和输出内容,或者如果使用哈希(如上所述)之类的东西来表示一端或另一端。
如果比较点有完整的输入和输出结构,那么......
我可能不会将Gson API(或任何序列化API)用于数据结构(或服务消息)值比较的任务。我更喜欢像Gson这样的序列化API用于序列化/反序列化任务,保持系统的这些层尽可能简单和简单。
所以,我可能更喜欢反序列化到目标LargeTestPojo
,并为其实现compareTo
和/或equals
方法,或者只是将两个数据集放入地图,并从那里进行比较。