Skip to content
Library for (de-)serializing data of any complexity (supports XML, JSON, YAML)
Branch: master
Clone or download
goetas Merge pull request #1066 from theoboldt/patch-1
Updated suggestion for `JsonSerializationVisitor::addData` replacement
Latest commit 5af83ae Mar 23, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
.travis add travis build for docs Sep 21, 2018
src Fixes #1050 Feb 27, 2019
.gitignore add travis build for docs Sep 21, 2018
.scrutinizer.yml Enable code coverage May 10, 2016
.travis.yml changelog for 2.2 Feb 27, 2019
LICENSE change to MIT license May 25, 2018 Updated suggestion for `JsonSerializationVisitor::addData` replacement Mar 22, 2019
phpunit.xml.dist Make PHPUnit stricter, drop redundant defaults Apr 26, 2018


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.

You can’t perform that action at this time.