Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/352.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我可以用基本GSON替换基本ObjectIn/OutputStreams吗?_Java_Serialization_Gson - Fatal编程技术网

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发行版中。如果你想使用它们,你需要将它们复制并粘贴到你的应用程序中