Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/schmittjoh/serializer

Library for (de-)serializing data of any complexity (supports JSON, and XML)
https://github.com/schmittjoh/serializer

Last synced: 3 days ago
JSON representation

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

Awesome Lists containing this project

README

        

> # UKRAINE NEEDS YOUR HELP NOW!
>
> On 24 February 2022, Russian [President Vladimir Putin ordered an invasion of Ukraine by Russian Armed Forces](https://www.bbc.com/news/world-europe-60504334).
>
> Your support is urgently needed.
>
> - Donate to the volunteers. Here is the volunteer fund helping the Ukrainian army to provide all the necessary equipment:
> https://bank.gov.ua/en/news/all/natsionalniy-bank-vidkriv-spetsrahunok-dlya-zboru-koshtiv-na-potrebi-armiyi or https://savelife.in.ua/en/donate/
> - Triple-check social media sources. Russian disinformation is attempting to coverup and distort the reality in Ukraine.
> - Help Ukrainian refugees who are fleeing Russian attacks and shellings: https://www.globalcitizen.org/en/content/ways-to-help-ukraine-conflict/
> - Put pressure on your political representatives to provide help to Ukraine.
> - Believe in the Ukrainian people, they will not surrender, they don't have another Ukraine.
>
> THANK YOU!
----

# jms/serializer

[![GitHub Actions][GA Image]][GA Link]
[![Packagist][Packagist Image]][Packagist Link]

![alt text](doc/logo-small.png)

## Introduction

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


## Documentation

Learn more about the serializer in its [documentation](http://jmsyst.com/libs/serializer).

## Notes

You are browsing the code for the 3.x version, if you are interested in the 1.x or 2.x version,
check the [1.x][1.x] and [2.x][2.x] branches.

The version `3.x` is the supported version (`master` branch).
The `1.x` and `2.x` versions are not supported anymore.

For the `1.x` and `2.x` branches there will be no additional feature releases.
Security issues will be fixed till the 1st January 2020 and
only critical bugs might receive fixes until the 1st September 2019.

Instructions on how to upgrade to 3.x are available in the [UPGRADING][UPGRADING] document.

## Professional Support

For eventual paid support please write an email to [[email protected]](mailto:[email protected]).

[CHANGELOG]: https://github.com/schmittjoh/serializer/blob/master/CHANGELOG.md
[UPGRADING]: https://github.com/schmittjoh/serializer/blob/master/UPGRADING.md

[GA Image]: https://github.com/schmittjoh/serializer/workflows/CI/badge.svg

[GA Link]: https://github.com/schmittjoh/serializer/actions?query=workflow%3A%22CI%22+branch%3Amaster

[Packagist Image]: https://img.shields.io/packagist/v/jms/serializer.svg

[Packagist Link]: https://packagist.org/packages/jms/serializer

[1.x]: https://github.com/schmittjoh/serializer/tree/1.x
[2.x]: https://github.com/schmittjoh/serializer/tree/2.x