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-2011 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.         $this->use $use;
  36.     }
  37.  
  38.    /**
  39.     * encodes an arbitrary variable into JSON format
  40.     *
  41.     * @param    mixed   $var    any number, boolean, string, array, or object to be encoded.
  42.     *                            if var is a string, note that encode() always expects it
  43.     *                            to be in ASCII or UTF-8 format!
  44.     * @return   mixed   JSON string representation of input var or an error if a problem occurs
  45.     */
  46.     function encode($var{
  47.         return json_encode($var);
  48.     }
  49.  
  50.    /**
  51.     * decodes a JSON string into appropriate variable
  52.     *
  53.     * @param    string  $str    JSON-formatted string
  54.     * @return   mixed   number, boolean, string, array, or object
  55.     *                    corresponding to given JSON input string.
  56.     *                    Note that decode() always returns strings in ASCII or UTF-8 format!
  57.     */
  58.     function decode($str{
  59.         return json_decode($str($this->use == SERVICES_JSON_LOOSE_TYPE) );
  60.     }
  61. }

Documentation generated on Wed, 24 Sep 2014 22:00:50 +0200 by phpDocumentor 1.4.3