freenetis-github/application/libraries/vtwsclib/third-party/Zend/Json.php @ 5debb8a0
31ca0a32 | Michal Kliment | <?php
|
|
/**
|
|||
* Zend Framework
|
|||
*
|
|||
* LICENSE
|
|||
*
|
|||
* This source file is subject to the new BSD license that is bundled
|
|||
* with this package in the file LICENSE.txt.
|
|||
* It is also available through the world-wide-web at this URL:
|
|||
* http://framework.zend.com/license/new-bsd
|
|||
* If you did not receive a copy of the license and are unable to
|
|||
* obtain it through the world-wide-web, please send an email
|
|||
* to license@zend.com so we can send you a copy immediately.
|
|||
*
|
|||
* @category Zend
|
|||
* @package Zend_Json
|
|||
* @copyright Copyright (c) 2005-2007 Zend Technologies USA Inc. (http://www.zend.com)
|
|||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
|||
*/
|
|||
/**
|
|||
* Class for encoding to and decoding from JSON.
|
|||
*
|
|||
* @category Zend
|
|||
* @package Zend_Json
|
|||
* @copyright Copyright (c) 2005-2007 Zend Technologies USA Inc. (http://www.zend.com)
|
|||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
|||
*/
|
|||
class Zend_Json
|
|||
{
|
|||
/**
|
|||
* How objects should be encoded -- arrays or as StdClass. TYPE_ARRAY is 1
|
|||
* so that it is a boolean true value, allowing it to be used with
|
|||
* ext/json's functions.
|
|||
*/
|
|||
const TYPE_ARRAY = 1;
|
|||
const TYPE_OBJECT = 0;
|
|||
/**
|
|||
* @var bool
|
|||
*/
|
|||
public static $useBuiltinEncoderDecoder = false;
|
|||
/**
|
|||
* Decodes the given $encodedValue string which is
|
|||
* encoded in the JSON format
|
|||
*
|
|||
* Uses ext/json's json_decode if available.
|
|||
*
|
|||
* @param string $encodedValue Encoded in JSON format
|
|||
* @param int $objectDecodeType Optional; flag indicating how to decode
|
|||
* objects. See {@link ZJsonDecoder::decode()} for details.
|
|||
* @return mixed
|
|||
*/
|
|||
public static function decode($encodedValue, $objectDecodeType = Zend_Json::TYPE_ARRAY)
|
|||
{
|
|||
if (function_exists('json_decode') && self::$useBuiltinEncoderDecoder !== true) {
|
|||
return json_decode($encodedValue, $objectDecodeType);
|
|||
}
|
|||
require_once APPPATH.'libraries/vtwsclib/third-party/Zend/Json/Decoder.php';
|
|||
return Zend_Json_Decoder::decode($encodedValue, $objectDecodeType);
|
|||
}
|
|||
/**
|
|||
* Encode the mixed $valueToEncode into the JSON format
|
|||
*
|
|||
* Encodes using ext/json's json_encode() if available.
|
|||
*
|
|||
* NOTE: Object should not contain cycles; the JSON format
|
|||
* does not allow object reference.
|
|||
*
|
|||
* NOTE: Only public variables will be encoded
|
|||
*
|
|||
* @param mixed $valueToEncode
|
|||
* @param boolean $cycleCheck Optional; whether or not to check for object recursion; off by default
|
|||
* @return string JSON encoded object
|
|||
*/
|
|||
public static function encode($valueToEncode, $cycleCheck = false)
|
|||
{
|
|||
if (function_exists('json_encode') && self::$useBuiltinEncoderDecoder !== true) {
|
|||
return json_encode($valueToEncode);
|
|||
}
|
|||
require_once APPPATH.'labraries/vtwsclib/third-party/Zend/Json/Encoder.php';
|
|||
return Zend_Json_Encoder::encode($valueToEncode, $cycleCheck);
|
|||
}
|
|||
}
|