2017 © Pedro Peláez
 

library gson-php

Gson for PHP: Convert PHP objects to and from json

image

tebru/gson-php

Gson for PHP: Convert PHP objects to and from json

  • Monday, July 30, 2018
  • by natebrunette
  • Repository
  • 6 Watchers
  • 52 Stars
  • 24,519 Installations
  • PHP
  • 2 Dependents
  • 0 Suggesters
  • 6 Forks
  • 4 Open issues
  • 19 Versions
  • 20 % Grown

The README.md

Gson PHP

Build Status Code Coverage Scrutinizer Code Quality SensioLabsInsight, (*1)

This library is a port of google/gson written in PHP. Its purpose is to easily handle the conversion between PHP objects and JSON. It shares some of google/gson's goals such as:, (*2)

  • A simple interface using toJson and fromJson methods
  • Enable serialization and deserialization of 3rd party classes
  • Allow schema differences between PHP objects and JSON

And in addition:, (*3)

  • Utilize PHP 7 scalar type hints to be intelligent about property types
  • Limit the number of annotations required to use
  • Allow serialization decisions based on runtime information

Overview

Here are some simple use cases to get a feel for how the library works, (*4)

If you have a PHP object you want to convert to JSON, (*5)

// $object obtained elsewhere

$gson = Gson::builder()->build();
$json = $gson->toJson($object);

What this is doing is using the provided GsonBuilder to set up the Gson object with sensible defaults. Calling Gson::toJson and passing in an object will return a string of JSON., (*6)

If you need to, you can force the type Gson will use to serialize, (*7)

// $object obtained elsewhere

$gson = Gson::builder()->build();
$json = $gson->toJson($object, MyCustomClass::class);

The reverse is very similar, (*8)

// $json obtained elsewhere

$gson = Gson::builder()->build();
$fooObject = $gson->fromJson($json, Foo::class);

Now we call Gson::fromJson and pass in the json as a string and the type of object we'd like to map to. In this example, we will be getting an instantiated Foo object back., (*9)

Gson has a concept of "normalized" forms. This just means data that has been decoded with json_decode, or can be passed into json_encode., (*10)

// $object obtained elsewhere

$gson = Gson::builder()->build();
$jsonArray = $gson->toNormalized($object);
$object = $gson->fromNormalized($jsonArray, Foo::class);

Documentation

Installation

This library requires PHP 7.1, (*11)

composer require tebru/gson-php

Be sure and set up the annotation loader in one of your initial scripts., (*12)

\Doctrine\Common\Annotations\AnnotationRegistry::registerLoader('class_exists');

License

This project is licensed under the MIT license. Please see the LICENSE file for more information., (*13)

The Versions

30/07 2018

dev-test

dev-test

Gson for PHP: Convert PHP objects to and from json

  Sources   Download

MIT

The Requires

 

The Development Requires

by Nate Brunette

23/07 2018

dev-performance-improvements-v2

dev-performance-improvements-v2

Gson for PHP: Convert PHP objects to and from json

  Sources   Download

MIT

The Requires

 

The Development Requires

by Nate Brunette

27/06 2018

dev-master

9999999-dev

Gson for PHP: Convert PHP objects to and from json

  Sources   Download

MIT

The Requires

 

The Development Requires

by Nate Brunette

27/06 2018

v0.5.9

0.5.9.0

Gson for PHP: Convert PHP objects to and from json

  Sources   Download

MIT

The Requires

 

The Development Requires

by Nate Brunette

26/06 2018

v0.5.8

0.5.8.0

Gson for PHP: Convert PHP objects to and from json

  Sources   Download

MIT

The Requires

 

The Development Requires

by Nate Brunette

12/06 2018

v0.5.7

0.5.7.0

Gson for PHP: Convert PHP objects to and from json

  Sources   Download

MIT

The Requires

 

The Development Requires

by Nate Brunette

16/05 2018

v0.5.6

0.5.6.0

Gson for PHP: Convert PHP objects to and from json

  Sources   Download

MIT

The Requires

 

The Development Requires

by Nate Brunette

15/05 2018

v0.5.5

0.5.5.0

Gson for PHP: Convert PHP objects to and from json

  Sources   Download

MIT

The Requires

 

The Development Requires

by Nate Brunette

02/04 2018

v0.5.4

0.5.4.0

Gson for PHP: Convert PHP objects to and from json

  Sources   Download

MIT

The Requires

 

The Development Requires

by Nate Brunette

26/03 2018

v0.5.3

0.5.3.0

Gson for PHP: Convert PHP objects to and from json

  Sources   Download

MIT

The Requires

 

The Development Requires

by Nate Brunette

24/03 2018

dev-performance-improvements

dev-performance-improvements

Gson for PHP: Convert PHP objects to and from json

  Sources   Download

MIT

The Requires

 

The Development Requires

by Nate Brunette

11/12 2017

v0.5.2

0.5.2.0

Gson for PHP: Convert PHP objects to and from json

  Sources   Download

MIT

The Requires

 

The Development Requires

by Nate Brunette

08/12 2017

v0.5.1

0.5.1.0

Gson for PHP: Convert PHP objects to and from json

  Sources   Download

MIT

The Requires

 

The Development Requires

by Nate Brunette

06/12 2017

v0.5.0

0.5.0.0

Gson for PHP: Convert PHP objects to and from json

  Sources   Download

MIT

The Requires

 

The Development Requires

by Nate Brunette

11/09 2017

v0.4.1

0.4.1.0

Gson for PHP: Convert PHP objects to and from json

  Sources   Download

MIT

The Requires

 

The Development Requires

by Nate Brunette

25/07 2017

v0.4.0

0.4.0.0

Gson for PHP: Convert PHP objects to and from json

  Sources   Download

MIT

The Requires

 

The Development Requires

by Nate Brunette

10/05 2017

v0.3.0

0.3.0.0

Gson for PHP: Convert PHP object to and from json

  Sources   Download

MIT

The Requires

 

The Development Requires

by Nate Brunette

26/04 2017

v0.2.0

0.2.0.0

Gson for PHP: Convert PHP object to and from json

  Sources   Download

MIT

The Requires

 

The Development Requires

by Nate Brunette

16/02 2017

v0.1.0

0.1.0.0

Gson for PHP: Convert PHP object to and from json

  Sources   Download

MIT

The Requires

 

The Development Requires

by Nate Brunette