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

2.0.0-RC1 2018-10-17 06:49 UTC


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

You are browsing the code of upcoming 2.0 release, if you are interested in the 1.x series, check the 1.x branch.

Differences between the 1.x and 2.x series 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.

If you are submitting a pull request, until the 2.0 is not released submit it targeting the 1.x branch. Accepted pull request will be ported to the 2.0 release when possible.


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.