Class Zend_Json

Description

Class for encoding to and decoding from JSON.

Located in /Json.php (line 39)


	
			
Class Constant Summary
Variable Summary
Method Summary
 static mixed decode (string $encodedValue, [int $objectDecodeType = Zend_Json::TYPE_ARRAY])
 static string encode (mixed $valueToEncode, [boolean $cycleCheck = false], [array $options = array()])
 static mixed fromXml (string $xmlStringContents, [boolean $ignoreXmlAttributes = true])
 static string prettyPrint (string $json, [array $options = array()])
 static mixed _processXml (SimpleXMLElement $simpleXmlElementObject, boolean $ignoreXmlAttributes, [int $recursionDepth = 0])
 static void _recursiveJsonExprFinder ( &$value,  &$javascriptExpressions, [ $currentKey = null], mixed $valueToCheck)
Variables
static int $maxRecursionDepthAllowed = 25 (line 54)

To check the allowed nesting depth of the XML tree during xml2json conversion.

  • access: public
static bool $useBuiltinEncoderDecoder = false (line 59)
  • access: public
Methods
static decode (line 72)

Decodes the given $encodedValue string which is encoded in the JSON format

Uses ext/json's json_decode if available.

  • access: public
static mixed decode (string $encodedValue, [int $objectDecodeType = Zend_Json::TYPE_ARRAY])
  • string $encodedValue: Encoded in JSON format
  • int $objectDecodeType: Optional; flag indicating how to decode objects. See Zend_Json_Decoder::decode() for details.
static encode (line 126)

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

NOTE: Encoding native javascript expressions are possible using Zend_Json_Expr. You can enable this by setting $options['enableJsonExprFinder'] = true

static string encode (mixed $valueToEncode, [boolean $cycleCheck = false], [array $options = array()])
  • mixed $valueToEncode
  • boolean $cycleCheck: Optional; whether or not to check for object recursion; off by default
  • array $options: Additional options used during encoding
static fromXml (line 236)

fromXml - Converts XML to JSON

Converts a XML formatted string into a JSON formatted string. The value returned will be a string in JSON format.

The caller of this function needs to provide only the first parameter, which is an XML formatted String. The second parameter is optional, which lets the user to select if the XML attributes in the input XML string should be included or ignored in xml2json conversion.

This function converts the XML formatted string into a PHP array by calling a recursive (protected static) function in this class. Then, it converts that PHP array into JSON by calling the "encode" static funcion.

Throws a Zend_Json_Exception if the input not a XML formatted string. NOTE: Encoding native javascript expressions via Zend_Json_Expr is not possible.

  • return: - JSON formatted string on success
  • throws: Zend_Json_Exception
  • access: public
static mixed fromXml (string $xmlStringContents, [boolean $ignoreXmlAttributes = true])
  • string $xmlStringContents: XML String to be converted
  • boolean $ignoreXmlAttributes: Include or exclude XML attributes in the xml2json conversion process.
static prettyPrint (line 373)

Pretty-print JSON string

Use 'indent' option to select indentation string - by default it's a tab

  • access: public
static string prettyPrint (string $json, [array $options = array()])
  • string $json: Original JSON string
  • array $options: Encoding options
static _processXml (line 282)

_processXml - Contains the logic for xml2json

The logic in this function is a recursive one.

The main caller of this function (i.e. fromXml) needs to provide only the first two parameters i.e. the SimpleXMLElement object and the flag for ignoring or not ignoring XML attributes. The third parameter will be used internally within this function during the recursive calls.

This function converts the SimpleXMLElement object into a PHP array by calling a recursive (protected static) function in this class. Once all the XML elements are stored in the PHP array, it is returned to the caller.

Throws a Zend_Json_Exception if the XML tree is deeper than the allowed limit.

  • return: - On success, a PHP associative array of traversed XML elements
  • throws: Zend_Json_Exception
  • access: protected
static mixed _processXml (SimpleXMLElement $simpleXmlElementObject, boolean $ignoreXmlAttributes, [int $recursionDepth = 0])
  • SimpleXMLElement $simpleXmlElementObject: XML element to be converted
  • boolean $ignoreXmlAttributes: Include or exclude XML attributes in the xml2json conversion process.
  • int $recursionDepth: Current recursion depth of this function
static _recursiveJsonExprFinder (line 185)

Check & Replace Zend_Json_Expr for tmp ids in the valueToEncode

Check if the value is a Zend_Json_Expr, and if replace its value with a magic key and save the javascript expression in an array.

NOTE this method is recursive.

NOTE: This method is used internally by the encode method.

static void _recursiveJsonExprFinder ( &$value,  &$javascriptExpressions, [ $currentKey = null], mixed $valueToCheck)
  • mixed $valueToCheck: a string - object property to be encoded
  • &$value
  • array &$javascriptExpressions
  • $currentKey
Class Constants
TYPE_ARRAY = 1 (line 46)

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.

TYPE_OBJECT = 0 (line 47)

Documentation generated on Mon, 21 Jun 2010 15:30:20 -0400 by phpDocumentor 1.4.3