Library for (de-)serializing data of any complexity; supports XML, JSON, and YAML.

2.1.8 2019-12-17 14:33 UTC


Master 1.x
Build status Build status
Coverage Status Coverage Status

alt text


This library allows you to (de-)serialize data of any complexity. Currently, it supports XML and JSON.

It also provides you with a rich tool-set to adapt the output to your specific needs.

Built-in features include:

  • (De-)serialize data of any complexity; circular references and complex exclusion strategies are handled gracefully.
  • Supports many built-in PHP types (such as dates, intervals)
  • Integrates with Doctrine ORM, et. al.
  • Supports versioning, e.g. for APIs
  • Configurable via XML, YAML, or Annotations


Learn more about the serializer in its documentation.


You are browsing the code for the 2.x version, if you are interested in the 1.x version, check the 1.x branch.

Differences between the 1.x and 2.x can be found in the CHANGELOG. Upgrading from 1.x to 2.x should be almost transparent for most of the userland code, in the
case you have heavily used internal-api or you are relaying on some of the removed features, the UPGRADING document is a short guide on how to upgrade.

Pull requests for new features are accepted only on the master branch. Bug fixes are accepted for both master and 1.x branches. Bug fixes sent on the 1.x branch, will be ported to the master branch when possible.