Skip to content

Serialize PHP variables, including objects, in JSON format. Support to unserialize it too.

Notifications You must be signed in to change notification settings

Credico/json-serializer

 
 

Repository files navigation

Json Serializer for PHP

Build Status Code Coverage Scrutinizer Quality Score

This is a library to serialize PHP variables in JSON format. It is similar of the serialize() function in PHP, but the output is a string JSON encoded. You can also unserialize the JSON generated by this tool and have you PHP content back.

Supported features:

  • Encode/Decode of scalar, null, array
  • Encode/Decode of objects
  • Support nested serialization
  • Support not declared properties on the original class definition (ie, properties in stdClass)
  • Support object recursion

Unsupported serialization content:

  • Resource (ie, fopen() response)
  • Closures

This project should not be confused with JsonSerializable interface from PHP 5.4. This interface is used on json_encode to encode the objects. There is no unserialization with this interface, differently from this project.

Json Serializer requires PHP >= 5.3.6

Example

class MyCustomClass {
	public $isItAwesome = true;
	protected $nice = 'very!';
}

$instance = new MyCustomClass();

$serializer = new Zumba\Util\JsonSerializer();
$json = $serializer->serialize($instance);
// $json will contain the content {"@type":"MyCustomClass","isItAwesome":true,"nice":"very!"}

$restoredInstance = $serializer->unserialize($json);
// $restoredInstance will be an instance of MyCustomClass

How to Install

If you are using composer, install the package zumba/json-serializer.

$ composer require zumba/json-serializer

Or add the zumba/json-serializer directly in your composer.json file.

If you are not using composer, you can just copy the files from src folder in your project.

About

Serialize PHP variables, including objects, in JSON format. Support to unserialize it too.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PHP 96.1%
  • Makefile 3.9%