PHPackages                             jannmylj/ivory-serializer - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Parsing &amp; Serialization](/categories/parsing)
4. /
5. jannmylj/ivory-serializer

ActiveLibrary[Parsing &amp; Serialization](/categories/parsing)

jannmylj/ivory-serializer
=========================

Serializer for PHP 5.6+ supporting JSON, XML, YAML &amp; CSV. This project is fork of egeloen/ivory-serializer.

1.0.1(5y ago)0950MITPHPPHP ^5.6|^7.0|^8.0

Since Feb 27Pushed 5y agoCompare

[ Source](https://github.com/jannmylj/ivory-serializer)[ Packagist](https://packagist.org/packages/jannmylj/ivory-serializer)[ RSS](/packages/jannmylj-ivory-serializer/feed)WikiDiscussions master Synced 2d ago

READMEChangelog (1)Dependencies (15)Versions (4)Used By (0)

README
======

[](#readme)

*This project is fork of egeloen/ivory-serializer*

[![Travis Build Status](https://camo.githubusercontent.com/85f73448baafee00e769bb8c55913c684e155286437684bfa869c2757e7c1b1c/68747470733a2f2f7472617669732d63692e6f72672f6567656c6f656e2f69766f72792d73657269616c697a65722e7376673f6272616e63683d6d6173746572)](http://travis-ci.org/egeloen/ivory-serializer)[![AppVeyor Build status](https://camo.githubusercontent.com/7809074ab7cf0ab0928a1b7232ea1a33ef53362e911152d955c6cf3e00bba8f9/68747470733a2f2f63692e6170707665796f722e636f6d2f6170692f70726f6a656374732f7374617475732f71326874643573636f7473766a686f782f6272616e63682f6d61737465723f7376673d74727565)](https://ci.appveyor.com/project/egeloen/ivory-serializer/branch/master)[![Code Coverage](https://camo.githubusercontent.com/d3f559f36f43329d89a8aff414db18c55e9413d8285b2ec81aa603ec6c4b204d/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f6567656c6f656e2f69766f72792d73657269616c697a65722f6261646765732f636f7665726167652e706e673f623d6d6173746572)](https://scrutinizer-ci.com/g/egeloen/ivory-serializer/?branch=master)[![Scrutinizer Code Quality](https://camo.githubusercontent.com/e2956d9bae7e28dec25eea7b8ce7bb2c2b536acf1cd136d43a52c7e1ed9b9150/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f6567656c6f656e2f69766f72792d73657269616c697a65722f6261646765732f7175616c6974792d73636f72652e706e673f623d6d6173746572)](https://scrutinizer-ci.com/g/egeloen/ivory-serializer/?branch=master)[![Dependency Status](https://camo.githubusercontent.com/4e34bfdeb99ac1973b103e537c5fb658cf5f02816eac0a69a8d35a6faf69018f/687474703a2f2f7777772e76657273696f6e6579652e636f6d2f7068702f6567656c6f656e3a73657269616c697a65722f62616467652e737667)](http://www.versioneye.com/php/egeloen:serializer)

[![Latest Stable Version](https://camo.githubusercontent.com/f4633fe4a5b23ea662ba2a94d4308d2ecce1ed5fc303805768648b4848588b62/68747470733a2f2f706f7365722e707567782e6f72672f6567656c6f656e2f73657269616c697a65722f762f737461626c652e737667)](https://packagist.org/packages/egeloen/serializer)[![Latest Unstable Version](https://camo.githubusercontent.com/21a0c39282a6d20a7c273ce568b9c193aee3773cf7261f354282824b50616a77/68747470733a2f2f706f7365722e707567782e6f72672f6567656c6f656e2f73657269616c697a65722f762f756e737461626c652e737667)](https://packagist.org/packages/egeloen/serializer)[![Total Downloads](https://camo.githubusercontent.com/3ea1d8178f8554610e9104bd17251a5af8ce40a5b13edc18c32c51229f311bf6/68747470733a2f2f706f7365722e707567782e6f72672f6567656c6f656e2f73657269616c697a65722f646f776e6c6f6164732e737667)](https://packagist.org/packages/egeloen/serializer)[![License](https://camo.githubusercontent.com/f7b42467667db4f450b3defcb93b55d0513e7886bfd37beddd087174778a0a98/68747470733a2f2f706f7365722e707567782e6f72672f6567656c6f656e2f73657269616c697a65722f6c6963656e73652e737667)](https://packagist.org/packages/egeloen/serializer)

Overview
--------

[](#overview)

The Ivory Serializer is a PHP 5.6+ library allowing you to (de)-serialize complex data using the visitor pattern recursively on each node of the graph. It supports the CSV, JSON, XML and YAML formats. It also supports features such as exclusion strategies (groups, max depth, circular reference, version, ...), naming strategies (camel case, snake case, studly caps), automatic/explicit mapping (reflection, annotation, XML, YAML, JSON) and many others...

```
use Ivory\Serializer\Format;
use Ivory\Serializer\Serializer;

$stdClass = new \stdClass();
$stdClass->foo = true;
$stdClass->bar = ['foo', [123, 432.1]];

$serializer = new Serializer();

echo $serializer->serialize($stdClass, Format::JSON);
// {"foo": true,"bar": ["foo", [123, 432.1]]}

$deserialize = $serializer->deserialize($json, \stdClass::class, Format::JSON);
// $deserialize == $stdClass
```

Documentation
-------------

[](#documentation)

- [Installation](/doc/installation.md)
- [Usage](/doc/usage.md)
- [Mapping](/doc/mapping.md)
- [Type](/doc/type.md)
- [Event](/doc/event.md)
- [Visitor](/doc/visitor.md)
- [Context](/doc/context.md)
    - [Exclusion strategies](/doc/context.md#exclusion-strategies)
    - [Naming strategies](/doc/context.md#naming-strategies)

Testing
-------

[](#testing)

The library is fully unit tested by [PHPUnit](http://www.phpunit.de/) with a code coverage close to **100%**. To execute the test suite, check the travis [configuration](/.travis.yml).

Contribute
----------

[](#contribute)

We love contributors! Ivory is an open source project. If you'd like to contribute, feel free to propose a PR! You can follow the [CONTRIBUTING](/CONTRIBUTING.md) file which will explain you how to set up the project.

License
-------

[](#license)

The Ivory Serializer is under the MIT license. For the full copyright and license information, please read the [LICENSE](/LICENSE) file that was distributed with this source code.

###  Health Score

32

—

LowBetter than 72% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity17

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity70

Established project with proven stability

 Bus Factor1

Top contributor holds 97.1% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~1413 days

Total

2

Last Release

1948d ago

PHP version history (2 changes)1.0.0PHP ^5.6|^7.0

1.0.1PHP ^5.6|^7.0|^8.0

### Community

Maintainers

![](https://www.gravatar.com/avatar/1813e37c1aa4e77534e7d81b9b8da5325e095b5a10af66034532320b2c8da042?d=identicon)[Jann Mylj](/maintainers/Jann%20Mylj)

---

Top Contributors

[![GeLoLabs](https://avatars.githubusercontent.com/u/149005863?v=4)](https://github.com/GeLoLabs "GeLoLabs (101 commits)")[![VeeeneX](https://avatars.githubusercontent.com/u/5690163?v=4)](https://github.com/VeeeneX "VeeeneX (2 commits)")[![AlexandrePavy](https://avatars.githubusercontent.com/u/6603411?v=4)](https://github.com/AlexandrePavy "AlexandrePavy (1 commits)")

---

Tags

serializer

###  Code Quality

TestsPHPUnit

Code StylePHP CS Fixer

### Embed Badge

![Health badge](/badges/jannmylj-ivory-serializer/health.svg)

```
[![Health](https://phpackages.com/badges/jannmylj-ivory-serializer/health.svg)](https://phpackages.com/packages/jannmylj-ivory-serializer)
```

###  Alternatives

[jms/serializer

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

2.3k135.8M851](/packages/jms-serializer)[masterminds/html5

An HTML5 parser and serializer.

1.8k242.8M229](/packages/masterminds-html5)[egeloen/serializer

Serializer for PHP 5.6+ supporting JSON, XML, YAML &amp; CSV

28574.6k3](/packages/egeloen-serializer)[ec-cube/ec-cube

EC-CUBE EC open platform.

78527.0k1](/packages/ec-cube-ec-cube)[goetas-webservices/xsd2php

Convert XSD (XML Schema) definitions into PHP classes and JMS metadata

2411.6M37](/packages/goetas-webservices-xsd2php)[goetas-webservices/xsd2php-runtime

Convert XSD (XML Schema) definitions into PHP classes

4910.9M36](/packages/goetas-webservices-xsd2php-runtime)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
