Source for file jJson.class.php

Documentation is available at jJson.class.php

  1. <?php
  2. /**
  3. @package     jelix
  4. @subpackage  utils
  5. @author      Laurent Jouanneau
  6. @copyright   2007 Laurent Jouanneau
  7. @link        http://www.jelix.org
  8. @licence     GNU Lesser General Public Licence see LICENCE file or http://www.gnu.org/licenses/lgpl.html
  9. */
  10.  
  11. define('SERVICES_JSON_STRICT_TYPE'0);
  12. define('SERVICES_JSON_LOOSE_TYPE'16);
  13.  
  14. /**
  15.  * object which encode or decode a php variable to or from JSON
  16.  * @package    jelix
  17.  * @subpackage utils
  18.  */
  19. class jJson {
  20.  
  21.     private $use;
  22.  
  23.     /**
  24.      * constructs a new JSON instance
  25.      *
  26.      * @param    int     $use    object behavior flags; combine with boolean-OR
  27.      *                            possible values:
  28.      *                            - SERVICES_JSON_STRICT_TYPE: (default) strict
  29.      *                              convertion
  30.      *                            - SERVICES_JSON_LOOSE_TYPE:  loose typing.
  31.      *                                    "{...}" syntax creates associative arrays
  32.      *                                    instead of objects in decode().
  33.      */
  34.     function jJSON($use 0)
  35.     {
  36.         $this->use $use;
  37.     }
  38.  
  39.    /**
  40.     * encodes an arbitrary variable into JSON format
  41.     *
  42.     * @param    mixed   $var    any number, boolean, string, array, or object to be encoded.
  43.     *                            if var is a string, note that encode() always expects it
  44.     *                            to be in ASCII or UTF-8 format!
  45.     * @return   mixed   JSON string representation of input var or an error if a problem occurs
  46.     */
  47.     function encode($var{
  48.         return json_encode($var);
  49.     }
  50.  
  51.  
  52.    /**
  53.     * decodes a JSON string into appropriate variable
  54.     *
  55.     * @param    string  $str    JSON-formatted string
  56.     * @return   mixed   number, boolean, string, array, or object
  57.     *                    corresponding to given JSON input string.
  58.     *                    Note that decode() always returns strings in ASCII or UTF-8 format!
  59.     */
  60.     function decode($str{
  61.         return json_decode($str($this->use == SERVICES_JSON_LOOSE_TYPE) );
  62.     }
  63.  
  64. }

Documentation generated on Thu, 19 Sep 2013 00:06:06 +0200 by phpDocumentor 1.4.3