noresources / data
Data (de)serialization library
v3.1.2
2025-06-08 16:52 UTC
Requires
- php: >= 7.1
- noresources/mediatype: ^2.0
- noresources/reflection: ^1.0
- symfony/console: ^4.0 || ^5.0
- symfony/polyfill-mbstring: ^1.31
Requires (Dev)
- phpunit/phpunit: >= 7.0
Suggests
- ext-dom: To use Apple XML property list (de)serializer
- ext-json: To use JSON (de)serializer
- ext-yaml: To use YAML (de)serializer
Replaces
- dev-main / 3.1.x-dev
- v3.1.2
- v3.1.1
- v3.1.0
- v3.0.0
- 2.4.x-dev
- dev-master / 2.4.x-dev
- v2.4.3
- v2.4.2
- v2.4.1
- v2.4.0
- 2.3.x-dev
- v2.3.1
- v2.3.0
- v2.2.4
- v2.2.3
- v2.2.2
- v2.2.1
- v2.2.0
- v2.1.8
- v2.1.7
- v2.1.6
- v2.1.5
- v2.1.4
- v2.1.3
- v2.1.2
- v2.1.1
- v2.1.0
- 2.0.x-dev
- v2.0.2
- v2.0.1
- v2.0.0
- v1.4.2
- v1.4.1
- v1.4.0
- v1.3.1
- v1.3.0
- 1.2.x-dev
- v1.2.5
- v1.2.4
- v1.2.3
- v1.2.2
- v1.2.1
- v1.2.0
- v1.1.1
- v1.1.0
- v1.0.1
- v1.0.0
- dev-test
- dev-tests/-f
- dev-devel
This package is auto-updated.
Last update: 2025-06-09 10:43:00 UTC
README
Data serialization library
Features
Serialize/Unserialize content to/from
- Ascii art
- CSV
- JSON
- INI
- Lua
- Plain text
- URL-encoded application/x-www-form-urlencoded
- XML (Apple property list)
- YAML
Installation
composer require noresources/data
Basic usage
use NoreSources\Data\Serialization\SerializationManager; $serializer = SerializationManager::getInstance(); $data = $serializer->unserializeFromFile ('foo.json'); $serializer->serializeToFile ('bar.yaml', $data);
Specifying output format
<?php use NoreSources\Data\Serialization\SerializationManager; use NoreSources\MediaType\MediaTypeFactory; $data = [ 'foo' => 'bar', 'int' => 42, 'list' => [ 1, 2, 3 ], 'object' => [ 'firstName' => 'John', 'lastName' => 'Doe' ], 'bool' => true, 'null' => null ]; $luaMediaType = MediaTypeFactory::getInstance()->createFromString( 'text/x-lua; mode=module'); $serializer = new SerializationManager(); $lua = $serializer->serializeData($data, $luaMediaType); die($lua . PHP_EOL);