将对象转换为JSON表示形式及其反向转换

dev-master 2013-11-15 11:05 UTC

This package is not auto-updated.

Last update: 2024-09-28 14:17:38 UTC


README

一个PHP库,用于将对象转换为JSON表示形式及其反向转换。使用Addendum PHP库。该库试图完成与Java Gson库相同的工作。

版本:1.0 需要:PHP 5.4 +

功能

  • 将对象转换为JSON,将JSON转换为对象
  • 将包含私有字段的PHP对象转换为JSON
  • 使用注解序列化/反序列化复杂字段
  • PsonBuilder类用于设置Pson选项(serializeNulls,excludeModifiers等)
  • @Expose注解用于管理字段排除

包内容

  • ./Pson.class.php : Pson库类
  • ./addendum/ : Pson使用的Addendum库
  • ./index.php : Pson使用示例

用法

			<?php

			//-- Include Pson Lib
			require ' Pson/src/Mikangali/Pson/Pson.php';

			//-- Simple PHP modele class
			class User{

				private $_nom;			//-- private field
				public $_prenom;

				/**
				 * @FieldClass('Voiture')
				 */
				private $_voiture;		//-- complex type field

			}

			class Voiture {
				public $_modele;
				public $_prix;
			}

			//-- json string
			$json = '{"_nom":"mike","_prenom":"brandon","_voiture":{"_modele":"Audi A4","_prix":20000}}';

			$pson = new Pson();

			$user = $pson->fromJson($json,'User');

			//-- #1
			echo "<pre>"; print_r($user);

			//-- #2
			echo "<pre>"; print_r($pson->toJson($user));

输出

			//-- #1
			User Object
			(
			    [_nom:User:private] => mike
			    [_prenom] => phoenix
			    [_user] =>
			    [_voiture:User:private] => Voiture Object
			        (
			            [_modele] => Audi A4
			            [_prix] => 20000
			        )

			)

			//-- #2
			{"_nom":"mike","_prenom":"phoenix","_voiture":{"_modele":"Audi A4","_prix":20000}}

其他示例

Pson + Twitter API

(c) 2013 Mikangali Labs