我是Java的初学者,我知道Java提供了一种序列化和反序列化对象的标准方法:https://www.geeksforgeeks.org/serialization-in-java/
据我了解,序列化的标准方法很简单:使对象实现类java.io.Serializable
,然后可以将该对象传递给方法ObjectOutputStream::writeObject(object)
。
要反序列化,我们使用类ObjectInputStream::readObject
。
现在一切都很好。
今天我发现了这个:https://github.com/alibaba/fastjson
MyClass obj = new MyClass();
String serText = JSON.toJSONString(obj, SerializerFeature.IgnoreErrorGetter);
JSON.toJSONString
似乎也是一种序列化。
我现在很困惑。它们都是序列化的,但是看起来却完全不同。
那么它们是否不同?如果它们是同一件事,我可以使用ObjectInputStream::readObject
来反序列化serText
吗?