Java 我可以用基本GSON替换基本ObjectIn/OutputStreams吗?
如果我只是输入Java 我可以用基本GSON替换基本ObjectIn/OutputStreams吗?,java,serialization,gson,Java,Serialization,Gson,如果我只是输入.toJson和.fromJson而不是使用.writeObject和.readObject,我会得到相同的结果吗? 此外,GSON与可以放入要序列化的类中的readObject和writeObject方法的等价物是什么 至于问题的第二部分:GSON的工作原理如下:您可以实现如下序列化器/反序列化器: private class DateTimeSerializer implements JsonSerializer<DateTime> { public Jso
.toJson
和.fromJson
而不是使用.writeObject
和.readObject
,我会得到相同的结果吗?此外,GSON与可以放入要序列化的类中的
readObject
和writeObject
方法的等价物是什么
至于问题的第二部分:GSON的工作原理如下:您可以实现如下序列化器/反序列化器:
private class DateTimeSerializer implements JsonSerializer<DateTime> {
public JsonElement serialize(DateTime src, Type typeOfSrc, JsonSerializationContext context) {
return new JsonPrimitive(src.toString());
}
}
私有类DateTimeSerializer实现JsonSerializer{
公共JsonElement序列化(DateTime src,类型typeOfSrc,JsonSerializationContext){
返回新的JsonPrimitive(src.toString());
}
}
然后用gson.registerTypeAdapter(DateTime.class,DateTimeSerializer())注册它们代码>Gson AFAIK没有readObject和writeObject(根据其功能) 至于问题的第二部分:GSON的工作原理如下:您可以实现如下序列化器/反序列化器:
private class DateTimeSerializer implements JsonSerializer<DateTime> {
public JsonElement serialize(DateTime src, Type typeOfSrc, JsonSerializationContext context) {
return new JsonPrimitive(src.toString());
}
}
私有类DateTimeSerializer实现JsonSerializer{
公共JsonElement序列化(DateTime src,类型typeOfSrc,JsonSerializationContext){
返回新的JsonPrimitive(src.toString());
}
}
然后用gson.registerTypeAdapter(DateTime.class,DateTimeSerializer())注册它们代码>Gson不支持继承或循环引用,不足以替代Java序列化 对于继承,使用对JSON值中的类名进行编码 对于循环引用,可以使用按引用而不是按值对值进行编码
这两个文件都不包括在Gson发行版中。如果你想使用它们,你需要将它们复制并粘贴到你的应用程序中。Gson不支持继承或循环引用,不足以替代Java序列化 对于继承,使用对JSON值中的类名进行编码 对于循环引用,可以使用按引用而不是按值对值进行编码 这两个文件都不包括在Gson发行版中。如果你想使用它们,你需要将它们复制并粘贴到你的应用程序中