# JMSSerializer

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

Repository: https://github.com/schmittjoh/serializer
Canonical: https://ross.abutalabs.com/products/jmsserializer
Homepage: http://jmsyst.com/libs/serializer
Language: PHP
License: MIT
License Family: permissive
Last push: 2026-05-28T21:35:34+00:00
Link (homepage): http://jmsyst.com/libs/serializer

## Health v2 (maintenance only)
Score: 80/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 84, release rhythm 63, longevity 100
- inputs: {"age_days": 5023, "days_push": 97, "days_rel": 167, "gap_med": 48.0, "n_releases_24m": 9}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 2343, forks 589 (observed 2026-08-28T04:06:39.426937+00:00)

## What it is
jms/serializer is a PHP library for serializing and deserializing data of any complexity, supporting JSON and XML formats. It offers configurable metadata (XML, YAML, annotations), exclusion strategies, circular reference handling, and Doctrine ORM integration, with a Symfony bundle available.

## Use cases
- serialize PHP objects to JSON for API responses
- deserialize JSON payloads into typed PHP objects
- convert objects to XML and back
- control API output with exclusion strategies and versioning
- map Doctrine entities to JSON/XML representations

## When to choose
- you need robust object (de-)serialization in PHP with fine-grained output control
- you work with Symfony and want a mature serializer bundle
- you need to handle circular references or complex object graphs
- you want annotation, XML, or YAML-based mapping configuration

## When to avoid
- you only need simple json_encode/json_decode without object mapping
- you use a framework with a built-in serializer that suffices
- you need formats beyond JSON and XML

## Facets
- artifact type: library
- maturity: stable
- function: serialization, json
- domain: web-development, backend, developer-tools
- platform: php
- tags: jms-serializer, symfony-bundle, doctrine-integration, object-mapping, api-versioning, xml

## Member repositories
- schmittjoh/serializer (main) score 80
- schmittjoh/JMSSerializerBundle (plugin) score 63

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:06:39.426937+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T02:37:13.545988+00:00, confidence not recorded.
  - readme: https://github.com/schmittjoh/serializer (fetched 2026-08-28T04:06:39.426937+00:00, sha cdb6d561280b)
  - homepage: http://jmsyst.com/libs/serializer (fetched 2026-08-29T10:17:39.988959+00:00, sha a026f1bbafa0)
- Data as of 2026-08-30T08:39:29.467469+00:00.
