> For the complete documentation index, see [llms.txt](https://docs.ic4j.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.ic4j.com/reference/api-reference/object-serializers-and-deserializers.md).

# Object Serializers and Deserializers

To handle complex Candid types RECORD and VARIANT IC4J use custom [ObjectSerializer](https://github.com/ic4j/ic4j-candid/blob/master/src/main/java/org/ic4j/candid/ObjectSerializer.java) and [ObjectDeserializer](https://github.com/ic4j/ic4j-candid/blob/master/src/main/java/org/ic4j/candid/ObjectDeserializer.java) implementations.&#x20;

If required, developers can design their own serializers and deserializers.&#x20;

The IC4J library comes with several implementations of the most common scenarios (Java Pojo, JSON, XML, JDBC).

Use Pojo Serializer and Deserializer to handle plain Java objects.

{% content-ref url="/pages/fFNdna5rDbxBelXg2vGd" %}
[Pojo Serializer and Deserializer](/reference/api-reference/object-serializers-and-deserializers/pojo-serializer-and-deserializer.md)
{% endcontent-ref %}

Use JSON Jackson Serializer and Deserializer to handle Jackson JSON objects.

{% content-ref url="/pages/2yGa1TAtAoxqCEOpzw9R" %}
[JSON Jackson Serializer and Deserializer](/reference/api-reference/object-serializers-and-deserializers/json-jackson-serializer-and-deserializer.md)
{% endcontent-ref %}

Use JSON Gson Serializer and Deserializer to handle Gson JSON objects.

{% content-ref url="/pages/2XTHGvZupk7G1Xd291DM" %}
[JSON Gson Serializer and Deserializer](/reference/api-reference/object-serializers-and-deserializers/json-gson-serializer-and-deserializer.md)
{% endcontent-ref %}

Use XML Serializer and Deserializer to handle XML DOM objects.

{% content-ref url="/pages/3XU4Sv1egy2hcws2k5pC" %}
[XML DOM Serializer and Deserializer](/reference/api-reference/object-serializers-and-deserializers/xml-dom-serializer-and-deserializer.md)
{% endcontent-ref %}

Use JDBC Serializer to handle JDBC objects.

{% content-ref url="/pages/GKY4zfZwzNNievUtS6Vz" %}
[JDBC Serializer](/reference/api-reference/object-serializers-and-deserializers/jdbc-serializer.md)
{% endcontent-ref %}
