# Serializing GObject Types

JSON-GLib provides API for serializing and deserializing `GObject` instances to and from JSON data streams.

Simple `GObject` classes can be (de)serialized into JSON objects, if the properties have compatible types with the native JSON types (integers, booleans, strings, string vectors). If the class to be (de)serialized has complex data types for properties (like boxed types or other objects) then the class should implement the provided `JsonSerializable` interface and its virtual functions.